Research Article
Internal Clock Drift Estimation in Computer Clusters
Algorithm 1
Pseudocode for the modified main interrupt request handler, used to sample the cycle counter at every GPS pulse per second in the Linux kernel.
/* Pseudocode for modified low level interrupt handling routine */ | do_IRQ () | | /* Modification to read the cycle counter as early as possible */ | if ( interrupt is 4 (serial port) and clock experiment active ) | read TSC cycle counter and store in buffer; | increment buffer pointer; | |
| /* Normal content of do_IRQ in Linux */ | Call the specialized interrupt handler based on interrupt number; |
| /* Modification for transferring the results to user space */ | if ( clock experiment active and buffer is full ) | check that the alternate buffer was read by the daemon; | switch to the alternate buffer; | signal the daemon to read the filled buffer; | | |
|