Sie sind auf Seite 1von 20

Market Oriented Programming

Sai Rahul Reddy P


http://blog.sairahul.com

04/11/09 Market Oriented Programming 1


What is Market Oriented Programming ?

 Market-oriented programming (MOP) is a mathematical programming


approach to distributed computation using selfish agents, based on
market price mechanisms

 MOP exploits the institution of markets to solve particular problems of


distributed resource allocation

 Comprises of two problems: Allocation and Pricing

 Inspired in part by economists (market mechanisms) and also by AI


(heterogeneous, self interested agents)

04/11/09 Market Oriented Programming 2


Basics of Micro Economics …

Simple Supply and Demand curve

De
m
an
d

ly
pp
Su
Price

Quantity

04/11/09 Market Oriented Programming 3


Basics of Micro Economics …

De
m
an
d

p1
Simple Demand curve
Price

p
2

q1 q2
Quantity

04/11/09 Market Oriented Programming 4


Basics of Micro Economics …

Supply Curve

p2 pply
Su

p1
Price

Quantity q1 q2

04/11/09 Market Oriented Programming 5


Basics of Micro Economics …

Equilibrium

De
m
an
d

ly
pp
Su

p1

pe
Price

q1 qe q2

Quantity
04/11/09 Market Oriented Programming 6
Example: Mungi

• Price per unit of storage is price(€) = 1 + 4p€2exp(€/(1- €) -1), € (0< €<1) is


the storage utilization of the system

• Taxation function is t(β) = b[1-exp(-β/b)],

04/11/09 Market Oriented Programming 7


Example: Load Balancing Problem

Cost of the job

• The cost of buying μJ/rk CPU seconds at Pk.


• The cost to cross the link to get to Pk.
• The cost to get from the Pk to the processor at which J entered the system.

Job Preferences
• Price Preference
• Service time preference
• Service and price preference

Economic Model

Auctions

04/11/09 Market Oriented Programming 8


Other Examples

• Spawn
Uses the monetary funding units as an abstract form of priority in
distributed and heterogeneous systems.
The use of price information to control adaptive expansion and
contraction of process trees in concurrent applications.

• Data Management Economy

• Flow Control Economy

• Quality of service in computer networks

• Multiple Access Protocols

04/11/09 Market Oriented Programming 9


Mechanism Design 6

 Given:
 System comprising of self-interested, rational agents
 Set of system wide goals

 Mechanism Design
 Does there exist a mechanism that can implement the goals ?

04/11/09 Market Oriented Programming 10


Example: System “ABC”

 ABC: A new breed of software agents??


 System:
 One Seller with a single indivisible good

 N buyers (agents) each with value vi for the good (money

value)
 vi is known only to agent i

 Value vi: Maximum value agent i is willing to pay for the good

(Agent is indifferent between the good and the money value


vi)
 Goals:
 G1: Sell the good to agent (buyer) with highest vi

 G2: The buying agent pays vi to the seller for the good

04/11/09 Market Oriented Programming 11


First Price Sealed Bid Auction

 Mechanism
 Each agent submits a sealed bid to the seller

 Good is sold to the agent with the highest bid

 The winning agent pays the quoted bid value to the seller

 Does this mechanism implements G1 and G2?

04/11/09 Market Oriented Programming 12


First Price Sealed Bid Auction: Agent Strategy

 Overbid
If the agent wins, it has to pay more than it is worth

 Bid True Value vi


If the agent wins, it has to pay its original value and the agent
gains nothing

 Underbid
Reduces the chance of winning
Less the agent pays than v more it gains
i
Strategy: Bid slightly more than the expected second highest
price

04/11/09 Market Oriented Programming 13


Vickrey Auction

 Mechanism
 Each agent submits a sealed bid to the seller

 Good is sold to the agent with the highest bid

 The winning agent pays the second highest bid value to the

seller

 Does this mechanism implements G1 and G2?

04/11/09 Market Oriented Programming 14


Vickrey Auction : Agent Strategy

 Overbid X
 If the agent is the real winner and wins, it gains nothing

 If the agent is not the real winner and wins by overbidding, it


may pay more than its value
 Underbid X
 If the agent is the real winner and wins, it gains nothing

 The agent may lose by underbidding

 Bid True Value vi √


 Best Strategy

 Tell the truth independent of what agents do (Dominant


Strategy)

04/11/09 Market Oriented Programming 15


English Auction

 Mechanism
 Open out-cry ascending price auction

 Starts with a minimum bid value quoted by the seller

 Agent can revise the bid amount upward by a minimum

increment ε
 Auction ends when bidding stops

 Highest bidder gets the object and pays the amount quoted

 Does this mechanism implements G1 and G2?

04/11/09 Market Oriented Programming 16


Evaluation of Auctions ?

• Allocation Efficiency

• Revenues

04/11/09 Market Oriented Programming 17


References

1. Ferguson, D., et al, Microeconomic algorithms for load balancing in distriuted


computer systems, Proc. 8th Int'l Conf. Distributed Computing Systems.

3. Ferguson, D et al, Economic models for allocating resources in computer


systems,Book: Market-based control: a paradigm for distributed resource
allocation.

5. G. Heiser, F. Lam, and S. Russell, Resource Management in the Mungi Single-


Address-Space Operating System, Proceedings of Australasian Computer
Science Conference.

7. http://en.wikipedia.org/en/Supply

9. Wellman, MP, Market-Oriented Programming: Some Early lessons, Book:


Market-based control: a paradigm for distributed resource allocation

11. http://purana.csa.iisc.ernet.in/~mbk/jammin/kamesh.html (Slides Taken)

04/11/09 Market Oriented Programming 18


04/11/09 Market Oriented Programming 19
Load Balancing In Clusters

Jobs Assignment

For each machine in a cluster of n machines, with resources r1, r2, . . . rk. The
machine’s cost is defined as

k
∑f( n, utilization of ri ).
i=1

Where f is some function. Jobs are assigned to resources in such a way to


minimizes this marginal cost.

Jobs Re-assignment

When a job terminates we will check the stability condition for each job j and
each machine M. If stability condition fails the job is reassigned in such a way
that minimizes the marginal cost.

04/11/09 Market Oriented Programming 20

Das könnte Ihnen auch gefallen