• DocumentCode
    1415065
  • Title

    Designing process replication and activation: a quantitative approach

  • Author

    Litoiu, Marin ; Rolia, Jerome ; Serazzi, Giuseppe

  • Author_Institution
    IBM Canada Ltd., Toronto, Ont., Canada
  • Volume
    26
  • Issue
    12
  • fYear
    2000
  • fDate
    12/1/2000 12:00:00 AM
  • Firstpage
    1168
  • Lastpage
    1178
  • Abstract
    Distributed application systems are composed of classes of objects with instances that interact to accomplish common goals. Such systems can have many classes of users with many types of requests. Furthermore, the relative load of these classes can shift throughout the day, causing changes to system behavior and bottlenecks. When designing and deploying such systems, it is necessary to determine a process replication and threading policy for the server processes that contain the objects, as well as process activation policies. To avoid bottlenecks, the policy must support all possible workload conditions. Licensing, implementation or resource constraints can limit the number of permitted replicas or threads of a server process. Process activation policies determine whether a server is persistent or should be created and terminated with each call. This paper describes quantitative techniques for choosing process replication or threading levels and process activation policies. Inappropriate policies can lead to unnecessary queuing delays for callers or unnecessarily high consumption of memory resources. The algorithms presented consider all workload conditions, are iterative in nature and are hybrid mathematical programming and analytic performance evaluation methods. An example is given to demonstrate the technique and describe how the results can be applied during software design and deployment
  • Keywords
    distributed object management; distributed programming; mathematical programming; multi-threading; queueing theory; software performance evaluation; systems analysis; analytic performance evaluation methods; bottlenecks; closed queuing networks; common goals; distributed application systems; distributed design; implementation constraints; iterative algorithms; licensing constraints; linear programming; mathematical programming; memory resource consumption; nonlinear programming; object classes; performance analysis; performance modeling; process activation design; process replication design; quantitative approach; queuing delays; relative load; resource constraints; server processes; software deployment; software design; system behavior; threading policy; user classes; user requests; workload conditions; Algorithm design and analysis; Delay; Iterative algorithms; Iterative methods; Licenses; Mathematical programming; Performance analysis; Process design; Software design; Yarn;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.888630
  • Filename
    888630