SATAnet special features Contents
Distributed storage
Allows abstraction of storage.
Mount any data (e.g. the world-wide web) as a normal disc and filesystem.
Manipulate data with “intelligent storage” (e.g. encryption).
Share memory amongst nodes.
SATAnet makes it possible to provide complete abstraction of any data storage and present it through the SATA interface. For example, the entire world-wide web could be made available as an apparent disc and mounted as a sub-directory, e.g. as /mnt/www with websites accessed as local files. A particularly interesting possibility opened up by this technology is one of bootable websites , whereby a PC can boot up directly from a software vendor’s website over the internet as if from a local disc, revolutionising the distribution, security, and licencing models of operating systems and applications.
Similarly, “intelligent storage” can be implemented, e.g. transparent encryption and compression, RAID, on-site/off-site backups, etc.
Other benefits include: large (and fast) swap files on discless nodes; secure swap files — the underlying storage medium is abstract and not contained within the node; memory can be easily shared amongst nodes by mapping it to a block of sectors or file.
In-flight processing
Relieves load from the CPU.
Run-time configurable transformations.
Communication packets can be passed through programmable transformation units within the SATAnet router. This allows the data within a packet to be processed, either to change, filter, or expand the data within the packet or to compute additional data such as checksums.
Algorithmic control
Relieves load from the CPU.
Reduces network traffic.
Removes coding from the algorithm implementation.
Some algorithms require many synchronisations to ensure that data is ready prior to starting execution or it is desireable to run parts in lock-step. Normally this will be implemented with software semaphores and synchronisation primitives with much communication going between nodes. SATAnet can reduce the costs and complexities incurred by such algorithms by itself co-ordinating the synchronisations and execution scheduling, removing the overhead of software control.