Physical structure
Google employs server farms of GNU/Linux computers around the world to answer search requests and to index the web. The server farms are built using a shared nothing architecture. The indexing is performed by a program ("Googlebot") which periodically requests new copies of the web pages it already knows about. The more often a page updates, the more often Googlebot will visit. The links in these pages are examined to discover new pages to be added to its database. The index database and web page cache is several terabytes in size.
The exact size and whereabouts of the physical machines in the google search engine is unknown, and official figures remain intentionally vague. In John Hennessy and David Patterson's Computer Architecture: A Quantitative Approach, the server farm cluster forming the Google "search farm" would in the year 2000 have consisted of about 6000 processors, 12000 common IDE-disks (2 per machine, and one machine per processor), at four sites: two in Silicon Valley and two in Virginia.
Each site had an OC 48 (2488 Mbps, see broadband Internet access article) connection to the Internet and an OC 12 (622 Mbps) connections to other Google sites. The connections are routed through a Cisco 12000 network switch and split by two Foundry Networks BigIron 8000 ethernet switches dividing the traffic onto 4 x 1 Gbps lines connecting up to 64 racks, with 40 machines and an HP Ethernet switch on both back and flip side, so that a rack would fit 80 machines and two HP switches.
Based on the Google IPO S-1 form released in April 2004, Tristan Louis, the Vice President of application development for the Internet unit of a large financial firm, estimated the current server farm to contain something like the following [1]:
- 719 racks
- 63,272 machines
- 126,544 CPUs
- 253,088 GHz of processing power
- 126,544 GB of RAM
- 5,062 TB of hard drive space
According to this estimate, the Google server farm constitutes the most powerful