As an analogy, imagine a large “money-center” bank in one of the world's capital cities. In the bank's lobby are dozens of customers waiting to be served. Each customer has different requirements. One customer wants to withdraw a small amount of money from his account. Arriving just after him is another customer, who has an appointment with one of the bank's investment specialists. She wants advice before she undertakes a complicated venture. Another customer in front of the first two customers wants to apply for a large loan, as do the eight customers in front of her.
Different customers with different needs require different types of service and different levels of service from the bank. Perhaps the bank on this particular day has many employees who can handle the one customer's simple withdrawal of money from his account. But at the same time the bank has only one or two loan officers available to help the many loan applicants. On another day, the situation might be reversed.
The effect is that customers must wait for service unnecessarily. Many of the customers could receive immediate service if only their needs were immediately recognized and then matched to available resources.
If the grid engine system were the bank manager, the service would be organized differently.
On entering the bank lobby, customers would be asked to declare their name, their affiliations, and their service needs.
Each customer's time of arrival would be recorded.
Based on the information that the customers provided in the lobby, the bank would serve the following customers:
Customers whose needs match suitable and immediately available resources
Customers whose requirements have the highest priority
Customers who were waiting in the lobby for the longest time
In a “grid engine system bank,” one bank employee might be able to help several customers at the same time. The grid engine system would try to assign new customers to the least-loaded and most-suitable bank employee.
As bank manager, the grid engine system would allow the bank to define service policies. Typical service policies might be the following:
To provide preferential service to commercial customers because those customers generate more profit
To make sure a certain customer group is served well, because those customers have received bad service so far
To ensure that customers with an appointment get a timely response
To prefer a certain customer on direct demand of a bank executive
Such policies would be implemented, monitored, and adjusted automatically by a grid engine system manager. Customers with preferential access would be served sooner. Such customers would receive more attention from employees, whose assistance those customers must share with other customers. The grid engine manager would recognize if the customers do not make progress. The manager would immediately respond by adjusting service levels in order to comply with the bank's service policies.