210 likes | 314 Views
Sirius Ben-Judah Alabama Agricultural and Mechanical University. Garnering Temperature Sensor Data to Display on a GCC Base Diagram Illustration Summer 2005 Project Overview. Supervisor: Dr. David Ritchie. Presentation Outline. Mission of Fermilab Necessity of Computers to Fermilab
E N D
Sirius Ben-Judah Alabama Agricultural and Mechanical University Garnering Temperature Sensor Data to Display on a GCC Base Diagram IllustrationSummer 2005 Project Overview Supervisor: Dr. David Ritchie
Presentation Outline • Mission of Fermilab • Necessity of Computers to Fermilab • Importance of Computer Temperature Monitoring for • How My Temperature Monitoring Program Works • Summary • What I’ve Learned From the Project • Acknowledgements
Mission of Fermilab Fermilab… • Conducts particle physics research into the smallest building blocks of matter. • Operates the world’s highest energy particle accelerator. • Conducts experiments that smash sub-atomic particles together. • Studies the resulting sub-atomic particles. • Works to understand the forces that make the particles interact.
Necessity of Computers to Fermilab Computers… • Record information about the particle detectors • Collect and store data concerning the sub-atomic particle collisions • Analyze the data • Make publications produced by scientists available via the web.
Importance of Temperature Monitoring Computers in the Grid Computer Center (GCC)… • Consume 850 kilovolt-amperes (KVA) of power. —This is the equivalent of 8,500 hundred watt light bulbs. • Run constantly except for maintenance outages. • Need a proper environment–-especially proper temperature. —Too high a temperature could destroy the computers. Therefore, we decided that an easy to access, quick to interpret temperature monitoring program for GCC was needed.
How My Temperature Monitoring Program Works • Hardware • Software • Programming Language Used • Major Program Steps • Operation • Results
How It Works—Hardware • Sensatronics Temperature Monitoring Devices: E4 and E16 • Thermocouples – each with 50 foot cables • Thermocouple-to-Webserver Device (E4 and E16) • Configure with PC to name each thermocouple with its coordinates in GCC • Webserver provides names and temps in raw html format • About $500 for the device and $50 per thermocouple
How It Works—Software • Programming Language Used: Python • Free • Very adaptable • Easy to make work • Has extensive libraries, such as the standard library, which support common programming tasks, such as • connecting to web servers, • regular expressions, and • file handling. • The Project was written using Windows 2000 on a PC.
How It Works—Major Program Steps • 1. Obtaining data from web servers Use urllib module of the Python Standard Library Read the html from the E4 at its IP address Result is the HTML containing the thermocouple names and temperatures. <html><head><title>IT Temperature Monitor: GCCa01</title></head> <body><table><tbody> <tr><td>140x525:H-A4-T</td></tr> <tr><td>80.3 °F</td></tr> </tbody></table></body> </html>
How It Works—Major Program Steps 2. Analyzing data for values by looking for patterns with regular expressions Regular Expressions extract text strings that contain the name and temperature value of each sensor that the E4 provides. • '.*(\d\d\.\d) °F.*’— Extracts temperature value. • (i.e. 86.7 corresponds with this pattern) • (\d\d\dx\d\d\d) — Extracts coordinate value to place data on map (i.e. 345x600 matches this regular expression sequence) • (:[H|C]-[A-F]\d\d?-[T|M]) — Matches and returns name of probe • (i.e. H-F14-T is a possible probe name)
How It Works—Major Program Steps • 3. Reading floor maps from Jpeg image files • Read the GCC floor map into an image object for modification. • Crop the image to specified coordinates using Python Image routines. • Resize the object so as to perfectly fit the target PC screen display. • Result: The final display had the appearance of the original GCC floormap, but restricted to the data center portion.
How It Works—Major Program Steps • 4. Merging the data onto the floormap • Merge the temperature values at the correct location on the GCC floormap according to the coordinates specified by the thermocouple name configurations. • — Python code was inserted so that any temperatures higher than 90 degrees would appear on the map in red, temperatures lower than 60 degrees appear in blue, while all temperatures in between appear in green.
How it Works–Operation • The program is installed as a scheduled task that runs every minute on the CD Operations webserver. • The CD Operations web page displays the Jpeg image as updated by the program. • This web page refreshes itself every 60 seconds, so that viewers can monitor the temperatures at GCC on a continuous basis.
How it Works: Results The IP Address provided by the E4 webserver Box.http://131.225.178.101 Before…
…Also Before… The IP Address provided by the E16 webserver Box.http://131.225.178.15
How it Works: Results …And After. This can be viewed athttp://cdops.fnal.gov/cdopsweb
What I’ve Learned from the Project I now know… • How to program simply in Perl, learned through an introductory course and authoring of smaller programs. • How to program moderately in Python, learned through the writing and compilation of a complete Python program. • That even small tasks that are easily accomplished by some and require no tears can still be useful, learned through the successful completion of my project program, which is simple, yet quite effective.