The Enterprise Executive

  • Author(s) / Creator(s)
  • Technical report TR92-13. Enterprise is a graphical programming environment for designing, coding, debugging, testing, monitoring, profiling and executing programs in a distributed hardware environment. Enterprise code looks like familiar sequential code. The user attaches icons, called assets, to sequential code modules to specify the parallelism of the program. The system provides several kinds of assets, each representing a different high-level technique of parallelism. There is an analogy between assets in a program and assets in an organization. The system automatically inserts the code to handle communication and synchronization into a module based on its attached asset kind. Also, the system runs the program and supports limited process migration and dynamic distribution of work, based on the demand and availability of resources. Enterprise is an on going project involving many researchers. This thesis presents the work on the design and implementation of the textual interface, the Enterprise assets, the executive, and some practical applications to test the flexibility of the system. With the interface, the user can edit, compile and run an Enterprise program. Assets are implemented by adding communication and synchronization code characterizing their kind into user code. A C program preprocessor is used to turn a module call into a message sending the correct parameters. The executive manages the assets (and the machines they utilize) at run time. It runs assets on available machines and handles dynamic distribution of work, as well as concurrency issues such as fairness and termination. It also monitors the load on the environment and performs limited process migration when necessary. The Enterprise system has been used to convert several sequential programs to run on a distributed environment, as well as to develop new distributed programs. The experience indicates that the Enterprise model offers a flexible and easy to use approach for rapid construction of distributed applications. | TRID-ID TR92-13

  • Date created
  • Subjects / Keywords
  • Type of Item
  • DOI
  • License
    Attribution 3.0 International