1 / 12

RAPIDS Server

RAPIDS Server. Author: Anna Bekkerman abekkerm@ecs.umass.edu. Starting Up. RAPIDS configuration file. Logger. Starts. Listens. 6. Starts. Listens. 1. 5. 2. Starts. ProxyProducer. LMM Server. 4. Server. Notifies when LMM server is ready. 3. 7. Sets up. Mdcn.

tass
Download Presentation

RAPIDS Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RAPIDS Server Author: Anna Bekkerman abekkerm@ecs.umass.edu

  2. Starting Up RAPIDS configuration file Logger Starts Listens 6 Starts Listens 1 5 2 Starts ProxyProducer LMM Server 4 Server Notifies when LMM server is ready 3 7 Sets up Mdcn libServer.so 8 Starts LMMs LMM Launcher libLauncher.so Java C++

  3. Starting Up Logger Forwards signals 9 LMM LMM Listens ProxyProducer LMM Server LMM Server Forwards signals 10 Mdcn 11 Sets LMMs up Starts 13 Starts monitoring 12 Command Sender GeneralConsumer Sends commands Java C++ libSender.so

  4. Logger Class • First, server starts the logging module • Path for storing log files should be provided in config file • Logging module: • Opens a log file • Writes current setup to the log file • Current setup is provided in RAPIDS configuration file

  5. ProxyProducer Class • Uses JNI to communicate with LMM server • LMM server is written in C++ • Main functionality: • Launches LMM server • Creates event objects • See “Event Hierarchy” section for more details on event classes • Forwards events to GeneralConsumer who logs them and sends to RAPIDS clients

  6. LMM Server • Uses “Common C++” framework to communicate with LMMs • Online documentation on “Common C++” can be found here: http://www.gnu.org/software/commoncpp/ • Main functionality: • Receives data from LMMs • Forwards the data to ProxyProducer (through JNI calls)

  7. Mdcn Class (aka Main Display and Control Node) • Implements all control actions • Uses JNI to launch LMMs, set them up, and stop them • Main functionality: • Starts/stops LMMs • Sets LMMs up according to the setup provided in the configuration file • Starts/stops GeneralConsumer

  8. LMM Launcher • Starts a process that launches LMM on a given machine • LMM is started remotely using ssh connection • Important! ssh on remote machines should be configured to allow command execution without providing a password

  9. Command Sender • Uses “Common C++” framework to communicate with LMMs • Commands might have a number of parameters • For example: metric key, name of a monitored process, command to start a process, update rate • Classes that describe set-up commands are contained in command package

  10. GeneralConsumer Class • Logs received events in order of their arrival • Uses Logger class • Forwards events to RAPIDS clients • The list of clients is being constantly updated by the Server

  11. Events Flow ProxyProducer Events Events GeneralConsumer Events LMM Server Events Logger Updates list of clients Events Client Client Client Server LMM Java LMM LMM C++

  12. Shutting Down Ctrl-C/kill GeneralConsumer Stops Stops 3 1 LMM LMM Server Mdcn LMM Stops LMMs 2 Command Sender Sends stop command Upon receiving stop command, LMM performs all necessary clean-up and dies Java C++

More Related