Proceedings of the Focus Group on Patterns for Resource Management and Optimization

EuroPLoP 2002, July 3-7, Kloster Irsee, Germany

Participants

Michael Kircher, Prashant Jain, Markus Völter, Peter Sommerlad, Dietmar Schütz,
Ansgar Radermacher, Reinhard Maier, Titos Saridakis, Amir Raveh

Workshop goals:

Example Resources

Type Example
Not reusable Sheet of Paper in the Printer, Piece of Cake, CPU cycles
Sharable by time-slice I/O Ports, Book in a Library, User Focus of a GUI, Printer, Chair, Keyboard during Pair Programming, Passage through a narrow corridor, TLS-key
Sharable by space-partitioning Network Switch, DSP, Bandwidth, Multi-user Computer System, Floor Space, Screen Space, Memory
Sharable, but no time-slice or space-partitioning Read-only Objects, TV-Set
Not covered Monitor, Process, Thread, Mutex, Transactions (because they are synchronization primitives themselves)
Unclear Queue, Socket (because it is unclear how they can be categorized)
Unknown (to be categorized) Objects, Service, Interrupt Channel, Remote Objects, Component Instances, I/O Channel

Definition: What is a Resource?

Definition: What is Resource Management?

Challenges in Resource Management

Resource Properties & their implications

Derived Resource Management implications

Non-functional Requirements of Resource Management

Conflicts:

Performance vs. Security,
Performance vs. Scalability,
Security vs. Availability,
Security vs. Usability,
Flexibility vs. Robustness,
Reliability vs. Availability

Table of resouce types

Resource Categories:

  1. Not reusable : acquire access, no synchronization on access, can be acquired only once, synchronization on acquistion (e.g. piece of cake)

  2. Partitioning: partition synchronously before allowing acquisition, no synchronization on access, support release (e.g. floor space)

  3. Time slicing :
    a) Acquire for exclusive access, release (e.g. shopping cart)
    b) Acquire as one of many users, synchronize access, release (e.g. )

  4. Non-exclusive access : nothing to do, but eventually acquire it and access it, no synchronization required, multiple users possible (e.g. cinema screen)

Things to check out