Internet in a Box Building Distributed System Testbed in RAMPIntroductionMethodologyPrevious StatusCurrent Status OverviewSystem ArchitectureA XUP clusteri3 / Chord / DHTAvailable Applications / UtilitiesChallengesFuture WorkInternet in a Box Building Distributed System Testbed in RAMPZhangxi Tan Xiaofan JiangComputer Science DepartmentUniversity of California, BerkeleyElectrical Engineering DepartmentUniversity of California, Berkeley2CS268 Spring 2006IntroductionTesting and debugging large scale distributed systems is difficultProblem with existing approachesScalability – O(100) nodesReproducibility - PlanetLabObservability - Don’t know what’s going on insideCost, Space and PowerBuild distributed system testbed with over 1,000 nodes using multi modular FPGA system Building block, HW/SW and networking infrastructure this semester3CS268 Spring 2006Methodology Intermediate platform – XUPFit 6/8 RISC processors per chipRunning uClinux with TCP/IP networkSoftware routers on chipSample distributed applications (Chord)Final platform - Research Accelerator for MultiProcessing (RAMP)Scale up to 16 RISC (?) processors per chip x 4 = 64 cores4CS268 Spring 2006Previous StatusSingle processor running uClinux 2.4 on XUP boardRunning @ 100 Mhz, 256M DDR Zebra open source router (not fully tested)Virtual NIC and point-to-point communication between processors Support polling and interruptFirmware has been developed5CS268 Spring 2006Current Status OverviewMultiple processors on one chip6 cores on XUP running uClinuxMultiprocessor debugging and bootstrappingXUP Clusters!Network SupportEthernet Linux driver and TCP/IP network (Socket interface)Network Interface Card (NIC)TCP/IP interconnect network Transparent internal inter-core network and external inter-XUP networkDemo application porting and performance evaluationTTCPChord / i3 (after porting)Web server w/CGI support6CS268 Spring 2006System Architecture7CS268 Spring 2006A XUP cluster8CS268 Spring 2006i3 / Chord / DHT9CS268 Spring 2006Available Applications / Utilitieschmod df du find grep ifconfig iptables-restore lsmod netstat pwd route telnetd traceroute vi zcatagetty cmp dhclient echo flatfsd gunzip ifdown iptables-save mkdir nslookup rdate rsyslogd test true vmstatarp cp dhcpd egrep free gzip ifup kill modprobe null reboot sed tftp ttcp wcarping crond dhcrelay env ftp hd inetd killall more passwd reset sh thttpd umount wgetbasename crontab dmesg expand ftpd head init ln mount ping rm tail time uname whichbusybox date dpkg false ftpget hostname insmod login msh portmap rmdir tcpdump top uptime whoamicat dd dpkg-deb fgrep ftpput i3serverd iptables ls mv ps rmmod telnet touch version xargs Python10CS268 Spring 2006Challenges Porting apps is a painstaking jobConfiguration/Makefile problem Cross-compiling (Dynamic linking library, CPU type and etc.)Fork (using pthread library might be an alternative)More cores?4-core version is quite stable now6-core version (near 100% BRAM and Slices utilization) Hitting the power-wall without heat sink 100 Mhz is difficultBuilding and debugging is much more difficultPlace and route time is unbearable! (floor plan tools required)11CS268 Spring 2006Future Work8 cores?Migrating design to RAMP (some dependencies)And
View Full Document