6 A distributed system
6.4 The Sydney Olympic Games system
IBM was responsible for the computer systems which were used in the 2000 Olympic Games. There were a number of components to the system, these included:
- A website which was publicly accessible and which contained features on the Games, the competitors and the results.
- A Games management system which administered the logistics of the Games, for example arranging transportation, accreditation and accommodation for athletes.
- A Games results system which captured input from all the events in the Games and distributed them to judges, scoreboards, competitors, commentators and the website detailed in the first bullet point above.
- A commentator information system which provided real-time information to journalists and broadcasters, for example this system would flash up on a commentator's PC the times achieved by the runners in a race, only a few seconds after the race was completed.
The statistics associated with the development were staggering:
- 7300 PCs were used as clients.
- 2000 information workstations and kiosks were spread around the Olympic site.
- 1500 IBM staff worked on the system.
- 10 km of cable were laid.
- 815 network switches were employed to transport and send data.
- 600 servers were used to store data and provide other services.
- 13 million lines of code were written.
- During the 16 days of the Olympics the website had 230 million page views, 8.7 million unique visitors and 11.3 billion hits.
- The highest number of hits in a day for the website was 874.5 million.
- 371,654 email messages were sent to competitors from fans.
- The system achieved 100 per cent availability.
Clearly the project was a major challenge in software engineering, project management and logistics terms. It was also a major problem in terms of distributed systems development.
First, very high reliability was required. If a computer malfunctioned then it should not affect the functioning of the system, for example if the computer tracking athletes’ timings in a race malfunctioned then the system should substitute another computer for it on-the-fly with no discernible difference to the users of the timing data.
Second, a large number of disparate pieces of hardware were used – both computers and output devices such as scoreboards. The system was developed as a classical client–server system in such a way that new hardware could be easily added. This was achieved via the use of standard protocols.
Third, high performance was required, for example results from the sailing events should have been sent to officials, journalists and competitors a few seconds after a race was completed. IBM carried out a large number of performance studies to ensure this was achieved and used techniques such as adaptive switching and data fragmentation to achieve this.
Fourth, scalability needed to be built into the system. IBM had made major investments in its Olympics system and a main aim was that it should be capable of being reused time and time again, even if the number of sports, number of competitors and duration of the games get larger. Using a client–server system ensured that there is a high probability of this happening in the future.