Split-OS: Operating System Architecture for a Cluster of Intelligent Devices Kalpana Banerjee, Aniruddha Bohra, Suresh Gopalakrishnan, Murali Rangarajan and Liviu Iftode
Cluster of Intelligent Devices (CID) Next generation of Internet Servers More bandwidth between host and devices Switch-based I/O – Infiniband, RapidIO Low overhead I/O Intelligent Devices (local processor, memory) Non-intrusive communication (Memory-to-Memory Communication - M2MC) CID = Intelligent Devices + M2MC
Key Observations Co-habitation of OS and applications limits server performance Offload computation to intelligent devices Intelligent devices alone are not sufficient Need non-intrusive M2MC across CID Host-mediated data transfers cause un- necessary I/O traffic Support direct device-to-device communication
Split-OS Objectives Split I/O processing in OS between Host and intelligent devices Develop application to device protocols using M2MC to make split efficient Exploit direct device-to-device communication (D2DC) without host involvement Support failover and dynamic load balancing across intelligent devices using co-operative device protocols
Split-Networking Idea Split TCP/IP protocol processing between Host and Intelligent Network Interface Cards (I-NIC) Offload interrupt and protocol processing from host Protocol state and buffers stored at I-NIC Flow and congestion control handled at I-NIC Implement socket API using direct application- to-device communication
Send Buffers Receive Buffers Backing Store for Send/Receive Buffers RDMA Write RDMA Read RDMA Read/Write HOST Send Buffers Receive Buffers I-NIC APPLICATION OS Split-Networking Architecture
I-NIC I-STORE HOST write(sock, buf) read(file, buf) Buffer Cache Direct Device-To-Device Communication Send Buffers Receive Buffers transfer(file, sock, size) Buffers WITHOUT D2DC WITH D2DC
Co-operative Devices Virtual devices built across multiple intelligent devices using M2MC Co-operative device protocols Co-operative Networking provides a shared TCP/IP protocol stack over multiple I-NICs Co-operative File System provides global file system abstraction over multiple I-STORE devices
Network-dedicated processor executing TCP/IP protocol stack Preliminaries : Split-Networking on SMP-based Servers Apache Web Server Throughput
Status & Plan Use a cluster of PCs with VIA to emulate CID Implement Split-OS components by modifying a FreeBSD kernel