Technical computing applications and/or programming environments provide operators, (e.g., engineers, scientists, software developers, mathematicians, educators, etc.), across a diverse range of industries, with an environment for performing technical computing. The technical computing applications and/or programming environments provide mathematical and graphical tools for mathematical computation, data analysis, visualization and algorithm development. The technical computing applications and/or programming environments may be used to solve complex problems by developing mathematical models that can be used to simulate and/or analyze the problems.
The technical computing applications and/or programming environments are often implemented as desktop applications that allow operators to interactively perform complex analysis and modeling on a single workstation. However, the single workstation can be limiting to the size of the problem that can be solved due to limited processing capacity associated with the single workstation or an amount of time available to solve the problem. In this case, the single workstation may be allocated full-time to performing the analysis and modeling while other computing resources, on a network, remain idle.
Hence, distributed computing is useful for distributing tasks to multiple computing resources, especially for a computationally intensive problem. However, most technical computing applications or programming environments were not initially designed for distributed computing. Additionally, developing new technical computing applications for use in a distributed computing environment may be prohibitively costly, time consuming, and/or complex. Thus, users may resort to performing technical computing using a desktop application, on a single workstation, which may limit a level of complexity of problems to be solved and/or increase processing time relative to performing the technical computing in a distributed computing environment.