3
$\begingroup$

Setting: post apocaliptic setting, but already under reconstruction. A small (a few millions), very well educated.

Assets:

-Strong, technocratic, semi-authoritarian central gov, treating the issue of having source of computer chips in the same way as US gov treats having newest weapons.

-Time ;) (yes, no problem in making slow research in way that would put any contemporary company out of market)

-industrial base - partially rebuilt,

-Market is a bit small, but there is no problem in gov arranging PPP in which the gov would cover R&D cost on condition of chipsets being sold cheaply

Data preserved:

-theoretically there were supposed to be preserved all necesarry blue prints and source codes, in practice it turns out that saved data are imperfect or hard to implement (like having blue prints for processor, and having awful problems to achieve required precision and troubles to produce pure enough materials)

-there are still some engineers from before the apocalypse left, not mentioning that there is no problem to find new students

-there are some last electronic gadgets left (not only Nokia 3310 ;) ) to know quite well what’s achieveable

How would a computer look like, if we were not bound by legacy issues, but could have designed it from scratch? Simultaneously being somewhat restricted by local conditions that require cutting corners here and there, not mentioning adjusting to local political conditions

1) Keyboard - original keyboard was designed to be actually somewhat inconvenient, so no more qwerty?

2) Parallel computing - the technology as such is theoretically briliant, energy efficient, etc… just it is a nightmare to program and would require to change whole idea of many programs. Additionally under such constrained condition it would be easier just to have one core and sometimes put it in dozens for any devices needing more computational power?

3) Further integration of chipset, presumably CPU and GPU combined?

4) Puting internet connection in to electricity conenction to avoid one cable (or would it be a serious source of interferences?)?

4) Further standardization of cables (as there used to be separate mouse and keyboard sockets) dunno - the same socket for display and for net connection?

5) More cloud computing, it allows more efficient use of peak demand for computational power, (while accidentaly gives gov more supervision over the whole system)?

6) Mostly replace intelectual property with awards for creating public good with open source to allow further tinkering (accidentally also gives gov some extra power over what's being developed)?

7) Gov being so nice that provides all citizens with their own accounts on new "Faceborg" version social website, bank account, e-mail, e-commerce platform, e-signature, search engine, free WiFi equivalent etc. (everything being treated like public good)?

8) Everything under some Linux based system because of high chance that it sources code(s) would be backed up.

(Which extra features should be included? Or maybe some removed as unrealistic?)

$\endgroup$
11
  • 1
    $\begingroup$ Given the limited resources and lack of capitalism there will be a one of each model. You wouldn't get three separately designed programs to do roughly the same thing. Any current code they used would be our open source code as you speculate, but expect much to be new or highly modified. $\endgroup$ – Donald Hobson Aug 15 '16 at 21:10
  • 1
    $\begingroup$ The link at the top of your question is broken. $\endgroup$ – user Aug 15 '16 at 21:25
  • 3
    $\begingroup$ "Puting internet connection in to electricity conenction to avoid one cable" Known as power line communication or PLC. Is often limited to quite low bit rates due to RFI concerns over turning unshielded electrical wiring into transmitting antennas forcing use of very low frequencies (though in-house equipment can use higher frequencies and can achieve respectable data rates). $\endgroup$ – user Aug 15 '16 at 21:27
  • $\begingroup$ "Keyboard - original keyboard was designed to be actually somewhat inconvenient, so no more qwerty?" This falsehood has always bothered me. QWERTY was designed for Morse code transcribers, who had to be as fast as the codes they transcribed. Slowing them down was not an option. QWERTY is actually designed to be incredibly efficient... if you're transcribing Morse code. As a side effect, it also happens to be very efficient for everyone else. Turns out, in fact, to be equal to the Dvorak, the keyboard many claim is designed to be the fastest. $\endgroup$ – Azuaron Aug 16 '16 at 19:38
  • 3
    $\begingroup$ @Azuaron There are many origin stories about QWERTY and to this day we're only sure that the best layout is the one you're used to. $\endgroup$ – AmiralPatate Aug 16 '16 at 20:53
4
$\begingroup$

My guess is mostly disappointing: It would go back to 8086 line.

It's well documented. It works. It requires least manufacturing precision from all "true" processors. It is, simply, as easy to manufacture as it gets.

Now, for your points:

  1. Keyboard - Who knows? Maybe some other system would work better for particular language, but overall it is not bad. Also, you say you have pre-war scientists. They would prefer what they know.

  2. Parallel computing - Not really. It is nightmare to do well. And for a society that does not have computers at all, it is also not needed. For long time, it will be easier and faster to make single chip faster, than to make two work in parallel.

  3. GPU - What GPU? Government does not need any GPU. For a long time all you need is a big book keeping machine. Text output and some charts are enough. So if it will ever appear, it'll be an addition. Just like it was.

  4. Putting internet connection in to electricity connenction - Hell no! This one is a nightmare even today. And of course you want government computers to use public electricity, but keep network isolated, don't you? Cables are cheap. research effort is not. Not even today, - and companies are trying.

  5. More cloud computing - maybe. Of course, there is no cloud. It's only someone's else computers.

  6. Mostly replace intelectual property with awards - tried in many communist countries. sure way to make people go elsewhere and work where they can keep fruit of their work. Like crafts. Or farming. Or poaching. Unless you want to remove all forms of property? Of course they might just work for wage, but if they are paid monthly or hourly, why would they compete? Especially that only government would hire them? (without IP, no company would ever want to pay for their work, as companies wouldn't be able to keep the effects)

  7. Government managing people's money and social life? Cool, so you do want to go communist and remove property in any real sense!

  8. Everything under some Linux based system - possible. Of course, only if points about radical architecture changes will not work. For new architecture you will need new OS anyway.

$\endgroup$
8
  • $\begingroup$ In fairness, GPUs are really good at massively parallel operations. If your government is interested in any kind of crypto or research, they'll want to have something that follows a GPUs base architecture. For that matter, it might become the standard architecture, and most of the reason this isn't done today is there's too much legacy hardware and software. Starting from scratch means you can design things to work with multi-thousand-core processors from the ground up. $\endgroup$ – UIDAlexD Aug 17 '16 at 11:33
  • $\begingroup$ @UIDAlexD Only if there is no pressure in having something up and running fast. And GPUs are good, sure they are. Yet, most database systems do not use them. Governments are run on databases, so... I'd really like to believe parallel would happen, but I believe pressure of time and need to show some successes would prevent that. Especially if there is no IP and no payments, only prizes. You need to win every month to win them often enough to eat... Enough to recover 8086 plans and to make gradual upgrades, not enough for brand new thinking. $\endgroup$ – Mołot Aug 17 '16 at 11:44
  • 1
    $\begingroup$ @UIDAlexD correct me if I'm wrong, but isn't the drive throughput a bottleneck? Not the CPU? I always believed that for the speed data can be received from drive, CPU processing speed is usually more than adequate. On machines I'm able to see it, CPU rarely goes near 100% during DB operations anyway. $\endgroup$ – Mołot Aug 17 '16 at 13:23
  • 1
    $\begingroup$ That said, DBs do need the horsepower sometimes, notably for Mergers/Backups/Rebuilds/Ect. We normally run these operations at 2-3 AM, because it can take upwards of 5 hours for a big database. That means the earliest we could ever have a request for that done is tomorrow morning. If you had the processing power to do that in 10 minutes, that'd be a huge boon to productivity. $\endgroup$ – UIDAlexD Aug 17 '16 at 13:40
  • 1
    $\begingroup$ And I see yours. In 9 parallel universes out of 10 they're gonna go with the quick and easy 'Rebuild old hardware we have documentation for' route. $\endgroup$ – UIDAlexD Aug 17 '16 at 14:04
1
$\begingroup$

The following would be my educated guesses:

1- Standardization: not just few ports being standard, will starting over, every system could be standardized and forced to be able to have replacements. Essentially creating interfaces before devices. This would include software. As a Linux user I can change my desktop environment without changing the rest of the operating system. This could be moved to a new level. Drivers could be standardized so all operating system could benefit from a single set of drivers.

2- Asymmetric processing. With all systems to be created from scratch, one could create a computer architecture with a high speed CPU, a mid range CPU just for OS to work on, and worker threads to speed up parallel processing.

3- Better networking protocols. TCP/IP protocol was not designed for today, it was designed for smaller networks with no security problems. A system with security built in will help a lot. Also, 64bit addressing would allow assigning a unique address to everything on earth, eliminating the need for NAT units.

4- Citizenship and internet accounts could be combined. With enough security measures, everyone will be a citizen on the internet, not anonymous people. This would probably reduce trolls, improve the overall quality of online interactions.

5- If the world to be built from scratch, internet infrastructure will take a high priority, with that, everyone could get very high speed internet and need for local hard drives would be minimized to software. Thus data would be stored online with backups.

From your list, loose the CPU GPU combination. It has been tried, while it is OK for work, will never work for gaming.

$\endgroup$
1
$\begingroup$

If you've got a chance to re-build computing from scratch but your people have current-day knowledge, you've got an awesome opportunity.

Many of the most exciting ideas for advanced computing concepts have simply never been commercially marketed, and quite possibly never will be.

For example, memristors. Memristor-based computers have the potential to fundamentally change the computing industry. They could be used in place of both transistors and RAM, allowing computers to operate in entirely novel ways.

In today's real world they only exist in the research lab and their introduction into the mainstream is looking less and less likely to occur any time soon, mainly due to the fact that they are so different that it's hard to imagine how they would be in any way compatible with modern operating systems.

Sure, they could find a use as a new form of non-volatile storage. That kind of use wouldn't be the kind of revolution that they're capable of, but it's about the best we can hope for without redesigning the internals of our computing devices from scratch and writing a whole new operating system for it.

But in the post-apocalyptic world that you describe, your technicians are tasked with doing exactly that, so it would be perfectly possible to introduce technologies like memristors and other tech that is currently confined to the lab. Computers could come out looking and working completely differently.

So what could Memristors do? Imagine a computer that doesn't lose its memory when you turn it off. Computers would be 'instant-on'; no more waiting for the OS to boot up; no more 'hibernate' mode. Just open the lid and it's ready for you. In fact, it gets better than that: you would only need to send power to the circuits at all when you actually want to do something. With a properly designed OS, power demands would be much lower, bordering on zero if you're just looking at a static screen rather than interacting; a passive screen reader device like a Kindle or photo frame would be able to run for years on a tiny battery, or even just solar power.

There are a number of other fundamental conceptual shifts that memristors could introduce, but I'll leave it to you to read up about them in more detail for yourself -- it's easy to google, and there's much more than I could write here.

But memristors are just one of the concepts floating around in the lab at the moment. If your techies were able to pick and chose from the best of them without needing to worry about maintaining compatibility with existing hardware and software then there's really no limit to what they could do.

The biggest challenge for your intrepid inventors is re-building the manufacturing capabilities that will allow them to actually make their high-tech hardware. They'll probably need to start from a fairly low base; equivalent of 1960's or 1970's scale, and work their way up from there. That doesn't mean that they can't introduce all those nice new concepts though.

$\endgroup$
1
$\begingroup$

It is not that simple, computer are made by many components:

Software

Design software is not that simple (I'm a programmer), our computers evolved and with that evolved users' requirements, if requirements changes, the software has to evolve, but usually a complete rewrite is far from being the optimal solution.

But is also true the opposite, if you have to start from scratch, you could do a better job than people who is constrained by old requirements (you cannot just break the application for your userbase).

Deprecation as business model: software is deprecated by many vendors and that's a business model to force you to buy a new operative system version. If you don't want computers being bound by legacy issues, you have to not have computers as a business (in example every software should be istituzionalized).

When you release a new operative system, you automatically force hardware vendors to upgrade (most) drivers (incidentally if those are drivers for a phone running a different operative system you also do a hard hit on competitors, it surprises me anti-trust did nothing for that meh), and software packets that were using cutting edge features of your old Operative System now require to be updated because (incidentally) the system libraries/API changed slightly.

If we have to rebuild everything from scratch, probably there will be only 1 operative system and that has to be Unix based, that will once and forever cut all compatibility issues etc, you make 1 Kernel and then design what should be the main components that can be plugged into the kernel and make those components standard (not that easy, if a standard miss some important stuff it has to be updated, most time you also have to deprecate some functionality because it bloats the code size or it just make impossible to add some more usefull functionality).

Hardware

Each time AMD or Intel invented a new instruction set (like AVX, SSE etc.) if that became successfull the other industry had to include that instruction set too in their CPU and at same time had to not break their own instruction sets, all that caused processors to have much more circuitry than needed.

Other architectures like MIPS processors had different issues (MIPS was designed with different goals, and so new instruction sets had to be added later).

At this time processors instruction set seems to became "stable" (unless there will be another boom in hybrid processing) enough, so if we today start designing again from scratch a processor with a unique and universal instruction set probably it will become cheaper and faster than anything existing today, but that is possible only after almost 50 years of evolution (and we do not know if that evolution will really stop). Also note that to fill the gap with modern processors something like 20 years at least is needed (modern processors are bloated true, but invented very clever tricks to circumvent the bloating) in order to reach current processing speeds.

Computers

With only 1 operative system and 1 universal instruction set, computers could become really modular, also since I assume all technology istituzionalized I would also bet there will no longer be hardware vulnerabilities (like the one that allows to write in BIOS in x86 processors), and so software should be much more secure and resiliant to malware. Vulnearibilities and malware are a business on their own.

In a world that needs to restart, I hope computers become somewhat easier to assembly, customize (so you just plug/unplug components, and replace these with ease maybe using SDcards like slots).

Also to prevent a world-wide war any electronic economy should be forbidden (no online-banks, best no banks, no shares, no wallets). Speculation add no real value to world, it is just money transfer, of no use in a world that needs to be restarted.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.