The Architecture of the RunMyCode platform

Several weeks again, I published a post on RunMyCode, a platform for publishing code and data associated with papers. After verification by the project staff, the code is run on a  remote server but controlled from a web page.  Several people have asked if I would describe the underlying architecture.

The system is detailed in section IV of the paper by Stodden, Hurlin and Perignon (free download) , and shown in the figure (fig 6 in the paper).


The figure shows from left to right, the front end, the middleware,  and the back end. The front  end uses Tomcat/JE22 to hold all the user applications, the middleware uses a Message Oriented Middleware MOM) message routing system, and the back-end used uses a cloud-based architecture.

The authors describe the operation of the system as follows:

” The users of a companion webpage (that is, webpage that is submit requests that are sent as a message (in an asynchronous way) to the back-end system. A system for processing these requests has been developed (DTM – Distributed Task Manager) in support of SGE (Sun Grid Engine – job entry subsystem of the calculus center). DTM is a lightweight tool for submitting and monitoring jobs through a local batch scheduler (SGE), gLite Grid and local Linux/Unix host. DTM is provided by the TGE Adonis (a unit of France’s National Center for Scientific Research, CNRS). This architecture permits the assignment of a specific computation resource to a specific demand issued from a companion webpage. The assignment takes into account the number of available resource calculations and the nature of the request. Once the job is executed, a post-treatment is done from the raw results issued from the software. This post- treatment mainly consist in creating a .pdf file that includes all the results (text, figures etc.) generated by the software. A .csv file may be also generated with numeric output (data).”

After the post-treatment is done, the webpage is updated and the results are displayed.

Finally, the system supports coupling to high performance platforms such as iRODS (bottom panel of figure), but this invisible to the end user.

This entry was posted in Cloud computing, cyberinfrastructure, Data Management, document management, High performance computing, information sharing, Journals, knowledge based discovery, Parallelization, programming, social media, social networking, software engineering, software maintenance, software sustainability, text processing and tagged , , , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s