DesignGoals and ImplementationBreakouts - LeFreq/Singularity GitHub Wiki

The evolution of computation goes from counting to calculation to algorithms to OS theory to social computing: Re-scalable (i.e. fractal), modular, uniform, standardized.

  • HeterogenousProcessorEnvironments. Since the Church-Turing thesis says that all computers essentially implement the same thing, the next design goal is to optimize this so objects in our ObjectLanguage can run anywhere. Much like a shell script, an object language is the one-level of indirection needed to compile on any hardware.
  • UnifiedNetworkStorage. Sun invented the idea of the network as the computer. Freenet invented an secure data architecture by propagating important data redundantly to peers for security. The key idea is peer to peer technology. So now we can scale arbitrarily large without sophisticated management. Why? Because our OS incorporates a universal language for both data and applications, allowing structure of the OS to scale as the intelligence of the global network of users grows. There are no "release cycles" like in the old monolithic model. Most of the time, what we want will simply be there or discoverable.
  • PeripheralStandardization. Ultimately hardware needs to refine itself on the new object wisdom that everything can relate more purely through simpler, but sophisticated primitives (i.e., better architecture). Think re-configurable hardware components. So, we might go towards a singular model. Perhaps like USB, but parallel.
  • ProcessingGeometry: Since the universe solved all the relationship to objects with 4 dimensions, we shouldn't need more either. Processor architecture (at least for visualization) could use a hypertetrahedral or hypercube core geometry (like the Intel Hypercube Xenix machine). XXXPeripherals may be processors in the geometry in a unifXXX Each peer should connect to four others creating something akin to a hypercube network architecture. This is an update to Symmetric Multi-Processing. See ParallelProcessing. Also, architecture consists of a single primary CPU and probably offloads more specific processing to dedicated processors (FPU, GPU, NPU: NetworkProcessingUnit, SPU: StorageProcessingUnit to do all of your journaled disk storage, etc.)
Software-architecture
  • MicroKernel, four core functions: processing/scheduling, data storage, user i/o, communications. Most people don't care to use the omega(2^n) power of the PC, so separating specialized processing to other processors/ASICs, saving the processing space of the timer.
  • ObjectStorageSystem (aka Deep Space Storage Network), rather than file hierarchies; redundant copies on different peers rather than computer backups (FreeNet style); Easy re-use of objects makes your disk requirements 1/10,000th of your standard OS.
  • CoreUtilities that all others are built-from using loosely-coupled, modular components like the original unix design, but all the way to a fully functioning browser or spreadsheet application. In other words, objects get re-used across many apps.
  • CyberSpace visualization. 3D -- 'nuff said.
⚠️ **GitHub.com Fallback** ⚠️