This isn't seeking specific advice for anything, it's more just a curiosity... since i'm not even up on all of the buzzwords, trends, and technologies necessarily, i'm just curious what is even out there for the purpose of me reading a little about each topic so I can say "yup I may someday need that!" vs "nope" because alot of things out now werent years ago when I last learned about them. (seeing new things about fault tolerant and high availability virtualization for instance which apparently makes the virtual machine more reliable than the hardware it's on because it can migrate around or get auto restarted)
For instance i've heard there are features on big mainframe gear which still to my knowledge has no replication on the desktop level - like multiple processors which compare outputs, looking for a one in a trillion processing error, where performance doesn't matter but perfection does. Is there any way to program virtual machines to replicate this? Likewise could programming replace the need for ECC RAM (or enhance it for even greater error tolerance if already used)? Are we where a virtual machine might have an uptime of decades in the future being migrated between servers that reboot independantly? How does one update software in use which can't be shut off ever?
Clustering seems to count for alot, virtualization alot, designing systems for fault tolerance and automatic failover, data integrity with new filesystems like ZFS seems remarkably well thought out, what is left to do in the future? What is up and coming soon? Have we hit a point where the right systems and software can make even a lowly desktop PC node reliable enough in the aggregate with other systems in a cluster to run a nuclear reactor or life sustaining critical function where a mistaken calculation is lethal consequences?
Sorry if i'm all full of questions, you guys here just seem all cutting edge and knowledgeable so I figured you'd probably know whats out and whats upcoming better than anyone. I'm assuming the greatest problem is and will always remain software, and I wonder if there has ever been anything proposed to make even that more reliable, like running multiple versions of an applictation in parallel, comparing output results (similar to how the five I think computer cores on the space shuttle work, a pretty mission critical task, I believe there are two sets of software, and 5 nodes, and a disagreeing answer is outvoted assumed to be an error) and such.
For instance i've heard there are features on big mainframe gear which still to my knowledge has no replication on the desktop level - like multiple processors which compare outputs, looking for a one in a trillion processing error, where performance doesn't matter but perfection does. Is there any way to program virtual machines to replicate this? Likewise could programming replace the need for ECC RAM (or enhance it for even greater error tolerance if already used)? Are we where a virtual machine might have an uptime of decades in the future being migrated between servers that reboot independantly? How does one update software in use which can't be shut off ever?
Clustering seems to count for alot, virtualization alot, designing systems for fault tolerance and automatic failover, data integrity with new filesystems like ZFS seems remarkably well thought out, what is left to do in the future? What is up and coming soon? Have we hit a point where the right systems and software can make even a lowly desktop PC node reliable enough in the aggregate with other systems in a cluster to run a nuclear reactor or life sustaining critical function where a mistaken calculation is lethal consequences?
Sorry if i'm all full of questions, you guys here just seem all cutting edge and knowledgeable so I figured you'd probably know whats out and whats upcoming better than anyone. I'm assuming the greatest problem is and will always remain software, and I wonder if there has ever been anything proposed to make even that more reliable, like running multiple versions of an applictation in parallel, comparing output results (similar to how the five I think computer cores on the space shuttle work, a pretty mission critical task, I believe there are two sets of software, and 5 nodes, and a disagreeing answer is outvoted assumed to be an error) and such.