XS Server Hardware
This is a description of the first implementation of the School server. It describes the hardware and software implementation details, including the management of services. The actual services provided by the School server are described in the Server Services document, with an accompanying discussion of desired services.
Hardware Specifications
Unlike the current laptop, there will be a number of School server hardware platforms. OLPC, in order to support the deployment of laptops, especially in environmentally hostile or off-the-grid locations, is designing a reference platform in collaboration with our manufacturing partner, Quanta. We are also supporting efforts by candidate countries (such as Brazil) to manufacture a school server platform locally.
Current platforms include:
- XSX - A short-term prototype, available now using OTS parts
- An XO laptop - Equipped with an external disk drive, a laptop should be capable of performing as a school server for small (less than thirty laptop) schools.
- XS - An environmentally rugged, very low power school server for up to 150 students. Should be available in November.
XS Specifications
This is a School server hardware platform designed with low power consumption and operation in environmentally challenging conditions as goals.
Processor
This hardware platform may be based on any processor architecture supported by the mainstream Linux kernel and libc software trees. We encourage the use of processors supported by Fedora Core 7.
Processor performance is difficult to characterize with a single number. We are looking for between 1200 and 1600 MIPs, capable of 120K+ interrupts/sec, with at least 1 GB/sec of memory throughput. At least 256KB of L2 cache should be provided.
For the XS Server, the processor is a PowerPC, the MPC7447A from Freescale, with AltiVec support. Apple calls it a G4.
Network Interfaces
The following are the integrated networking interfaces on XS. Additional interfaces may be added to the system using the peripheral interfaces.
Wireless Mesh
The School server will have two or three Active Antenna, an 802.11b/g WiFi wireless mesh networking interface. Each one of these serves as a mesh portal point operating on one of the three non-overlapping 802.11b channels (1, 6, and 11).
While connected to the school servers using detachable five meter USB cables, the Active Antennas are considered integrated as there must always be at least one of these connected for proper server operation. In the future, higher numbers (four or five) of more advanced (directional) Active Antennas may be used.
These are not integrated physically into the XS school server. This allows them to be located optimally for RF transmission/reception, while the server is in a more accessible location. It also allows for greater separation of the three antennas, operating simultaneously at neighboring frequencies.
Wired Networking
Providing at least two wired ethernet interfaces allows for reliable, high-bandwidth connection between a school server and its internet connection (if through a DSL or satellite modem), other school servers, and any non-laptop computer equipment.
The current plan for XS is to provide two 1000baseT ports and four 100baseT ports on the server. The two high speed ports allow multiple servers in a school to form a high speed backbone, and the four additional ports on each server provide school network expansion without using external switches. External switches are not encouraged, due to unknown quality and the requirement of external power.
Each port will be provided with two LEDs indicating link status, simplifying network debugging.
Peripheral Interfaces
The following peripheral interfaces are provided for expanding the capabilities of the school server.
USB 2.0
At least six Universal Serial Bus (USB) 2.0 interfaces should be provided for extending the storage and communication capabilities of a School server.
This assumes that up to three external ports will be used for Active Antenna, another for an external CD/DVD RW, another for a possible WAN connection, and one last one for temporary USB key or external USB drive attachment.
The total amount of power consumed by the USB devices will be clamped to 2.5 A at 5 Volts (12.5 W) total, aggregrated across all devices. Any single device may pull up to 1.5 A (7.5 W).
PCI-Express Slot
A short, full height PCI-Express (4 channel) expansion slot is provided internally in the XS. This slot is intended for the addition of a DVB-S receiver and demodulator, but may be used for other purposes as well.
The power consumption of this expansion slot limited to 15 W. Exceeding this will lower the maximum ambient operating temperature of the server, and may also prevent the use of a second disk drive.
Non-Volatile Storage
Internal Disk Drive
One internal 3.5 in. disk drive will be provided. The disk interface will be SATA (version 1 or 2). The capacity of this disk drive WILL vary, with a minimum size of 300 GB at this time.
A second 3.5 in. disk drive will be supported in the XS, primarily for onsite drive replacement, but also allowing storage expansion. Use of a second disk drive will lower the maximum ambient operating temperature of the server.
External Disk Drives
Additional disks may be added using the external USB 2.0 ports.
Flash
A fair amount (512 MB) of NAND Flash (solid state non-volatile) memory is provided on the server to allow the operating system and minimal services to continue operation even though the primary disk drive has failed.
A smaller amount (512KB) of NOR Flash will be provided for storage of configuration information and boot firmware.
Power
The power specifications of the School server are important. Many schools do not have adequate, or regular, power. While the power consumption should be minimized (30W is a good target), consideration should be given to an integral (or optional modular) uninterruptible power supply (UPS). This is nothing more than a larger version of the laptop power supply!
In some test schools with minimal power, we are already deploying multiple (gang) battery chargers with integral UPS.
Possible methods of obtaining power are summarized in Battery_and_power.
Environmental
Temperature
The school server should meet the same environmental specifications for temperature as the laptop. This is 50 C ambient.
Water and Dust
This is one area where the school server doesn't have to meet the standards of the laptop. The server should be resistant to water exposure from a single direction (above), but does not have to survive immersion. It should be capable of operation in a constantly humid (100%) environment.
- Can any hard drive operate at 100% humidity ? If the storage device needs to be encapsulated to meet humidity specs., it might as well be designed as separate, easy to replace modules (USB disk units.)
Dust intrusion should be considered. While the server will not contain a fan, it will be air cooled and dust collection on the cooling surfaces will be a problem. User cleanable filtration should be provided on the air intakes and vents.
Connectors and buttons should be resistant to dust intrusion. Buttons should be sealed against water, and connectors located and cables dressed to prevent water intrusion.
Mounting
While the school server should be designed to sit on a flat surface, it should probably also be mountable (hangable) from a wall or post.
This shouldn't cause a problem unless the server includes batteries for a optional/modular UPS...
Drop and Shake
The school server should meet the drop and shake specifications of standard consumer desktop PCs.
- Perhaps the shake specification should be higher to account for rougher transport during deployment ?
XSX Specifications
This is a version with a target date of mid-March. The primary goal is to support development of the School server/laptop software, including early trials. As this is a very limited production model (12-40 ?) and the design criteria are still undefined, flexibility wins out over cost. Off-the-shelf consumer PC hardware is being used for this platform. See the XSX Server Implementation for details.
Selection criteria are:
- 1GHz+ x86 processor
- 1 GB main memory
- four to six USB interfaces, with power for three Marvell Wifi nodes and an external disk drive.
- one 300GB+ 3.5in SATA drive
- power and space for a second disk drive
- two 100baseT network interfaces
- minimal fans
There are no power consumption targets for this device. A separate UPS is suggested for trial deployments in areas of uncertain power.
Software Specifications
The School server should run roughly the same Linux OS as that in the XO laptop. The release process will probably be different, but the kernel and most libraries should be identical.
A description of the software used for the school server in early trials is available.
Development Toolchain
What is the cost of this toolchain being different from that used for the XO laptop?
Upgrades
How is the School server upgraded ?
Service Management
How are services on the School server installed, configured, managed, and updated ?
A web based interface is a natural candidate for performing these actions on the School server.
Scalability
A School server should serve up to a hundred students. We could choose any number as this target, but have selected one hundred for a number of reasons:
- Higher student/server ratios push the processor requirements into the desktop PC range, with their higher prices/power consumption, and require multiple disks to provide the needed storage.
- Higher student/server ratios will probably require dedicated access points in addition to those provided locally by the server.
- Smaller student/server ratios spend too much money on the case and power supply for each unit.
- Ideally, the number of students supported by a single server results in at least two servers in almost all schools, providing a degree of redundancy.
In schools with multiple school servers (the normal situation), the servers are interconnected (preferrably using a wired network connection). They will work together to maximize the performance and reliability of the system.
The management interface for a school will be independent of the number of servers needed to serve the school.
The monitoring and management interface for school server software in a country/region should be independent of the number of server managed.