Intel Corporation and its thousands of servers

I worked in the IBM Rome Software Laboratory on a project for the Intel Corporation.

My goal was to migrate an SNMP server from OS/2 to Windows. The server application was intended to run on thousands of servers gathering information in real time about applications’ performance.

The software was part of the Tivoli Suite.

I had to write part of the SNMP protocol because the OS/2 implementation of it had more functionalities than the Windows one.

In fact, OS/2 allows an SNMP server to act as a server on behalf of other non-SNMP-enabled devices, while under Windows this is not possible.

The system was one with three levels with a main server gathering SNMP information from the second-level servers. These servers were gathering information about performance from computers running some applications.

When writing my code, I added a multi-threaded architecture improving performance in processing packets. Before, the system was losing a lot of packets.

I had to identify a couple of errors in Windows’ SNMP protocol and to find a workaround for them.

One more problem was the completely different architecture of the OS/2 implementation of the SNMP protocol. Under OS/2, the SNMP protocol is managed by an independent process, while, under Windows, it is managed by a DLL providing callback functions.

I rank this experience #1 because it has been very rewarding to build a program intended to run on thousands of servers and requiring a high-quality execution.