24
The Working Set Model for Program Behavior Peter J. Denning Massachuse=s Ins?tute of Technology, Cambridge, Massachuse=s 1

The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

The  Working  Set  Model  for  Program  Behavior  

Peter  J.  Denning  Massachuse=s  Ins?tute  of  Technology,  

Cambridge,  Massachuse=s  

1  

Page 2: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

About  the  paper  

•  Published  in  1968,  1st  ACM  Symposium  on  Opera?on  Systems  Principles  (SOSP)  

•  2005,  SIGOPS  Hall  of  Fame  Award  “This  paper  introduced  the  working  set  model,  which  has   became   a   key   concept   in   understanding   of  locality  of  memory  references  and  for  implemen:ng  virtual   memory.  Most   paging   algorithms   can   trace  their  roots  back  to  this  work”  

2  

Page 3: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Background:  Virtual  memory  

•  In  the  50s  ~  60s  – System:  ATLAS  computer  – Two-­‐level  memory  hierarchies:  main  memory  +  auxiliary  storage  – Demand  paging  – Backbone  for  mul?programming  

3  

Page 4: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Background:  Thrashing  

4  

“When  it  was  first  observed  in  the  1960s,  thrashing  was  an  unexpected,  sudden  drop  in  throughput  of  a  mul:programmed  system  …  I  explained  the  phenomenon  in  1968  and  showed  that  a  working-­‐set  memory  controller  would  stabilize  the  system  ...”  –  Peter  D.  Denning  

Page 5: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Mo?va?on  

•  Develop  a  unified  approach  to  tackle  the  resource  alloca?on  problem:  process  scheduling  and  memory  management  

•  However,  such  unified  approach  is  absent,  because  there  is  no  adequate  model  for  program  behavior  – Program  behavior:  a  program’s  system  demand,  including  processor  and  memory  demand  

5  

Page 6: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Working  Set  Model  -­‐  Overview  

•  Intended  to  model  the  behavior  of  programs,  specifically  the  programs’  memory  demand  

•  What  is  the  working  set  of  a  program?  – Programmer’s  standpoint:  the  smallest  collec?on  of  informa?on  must  be  present  in  main  memory  to  assure  efficient  execu?on  of  the  program  

– System’s  standpoint:  the  set  of  most  recently  referenced  pages  

6  

Page 7: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Working  Set  Model  -­‐  Defini?on  

•  Working  set  informa?on  of  a  process  at  ?me  t  is  defined  as  

     collec?on  of  memory  pages  referenced  by      the  process  during  the  ?me  interval  (t  -­‐  τ,  t),    τ  is  the  working  set  parameter  

 

7  

Page 8: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Working  Set  Model  -­‐  Example  

sequences  of  page  references  2  6  1  5  7  7  7  7  7  5  1  6  2  3  4  1  2  3  4  4  4      2  6  1  5  7  7  7  7  7  5  1  6  2  3  4  1  2  3  4  4  4        2  6  1  5  7  7  7  7  7  5  1  6  2  3  4  1  2  3  4  4  4    

8  

W(t1,  τ)  =  {2,  6,  1,  5,  7}  

W(t2,  τ)  =  {7,  5,  1}  

W(t3,  τ)  =  {4,  1,  2,  3}  

Page 9: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Working  Set  Model  -­‐  Proper?es  

•  P1.  Size  of  working  set    – w(t,  τ):  number  of  pages  in  working  set  W(t,  τ)  – w(t,  0)  is  0  – w(t,  τ)  is  a  monotonically  increasing  func?on  of  τ  

 

9  

Page 10: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Working  Set  Model  -­‐  Proper?es  

•  P2.  Predic?on  – For  small  &me  separa&on  α,  the  set  W(t,  τ)  is  a  good  predictor  for  the  set  W(t  +  α,  τ),  because  references  to  the  same  page  tend  to  cluster  in  ?me,  the  probability  (below)  is  small  

– On  the  other  hand,  for  large  &me  separa&on  α  (say,  α  >>  τ),  W(t,  τ)  is  a  not  good  predictor  for  the  set  W(t  +  α,  τ)  

 10  

Page 11: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Working  Set  Model  -­‐  Proper?es  

•  P3.  Reentry  Rate  – The  rate  at  which  memory  page  reenters  a  working  set  – Important  property  for  analyzing  page  traffic  – Highly  related  to  the  value  of  τ.  

•  E.g.  as  τ  is  reduced,  size  of  working  set  decreases,  the  probability  that  needed  pages  are  not  in  W(t,  τ)  increases.  

11  

Page 12: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Working  Set  Model  -­‐  Proper?es  

•  P3.  Reentry  Rate  (con?nued)  – Process-­‐&me  reentry  rate  λ(τ)  =  1/m(τ),  where  m(τ)  is  the  mean  ?me  between  reentries  – Real-­‐&me  reentry  rate  ϕ(τ)  =  λ(τ)  /  (1  +  λ(τ)T  ),  where  T  is  the  traverse  ?me  for  fetching  a  page  – Total  return  traffic  rate  βMϕ(τ)  

•  βM  is  the  average  number  of  pages  for  all  working  sets  •  It  es?mates  the  number  of  pages  per  unit  ?me  returning  to  main  memory  

12  

Page 13: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Working  Set  Model  -­‐  Proper?es  

•  P4.  τ  –  Sensi?vity  – Measures  how  sensi?ve  is  the  reentry  rate  λ(τ)  to  changes  in  τ  

             if  τ  is  decreased  by  dτ,  λ(τ)  increases  by  dτ  σ(τ)  

13  

Page 14: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Choice  of  τ  

•  If  τ  is  “too  small”,  it  may  result  in  high  traffic  of  returning  pages  

•  If  τ  is  “too  large”,  it  may  result  in  wasted  main  memory  

•  Recommended  τ:  a  value  comparable  to  the  memory  traverse  ?me  T  

14  

Page 15: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Detec?ng  W(t,  τ)  

•  A  hardware-­‐based  approach  is  described,  but  not  prac?cal  

•  Need  a  sosware-­‐based  approach  •  The  paper  proposes  sampling  the  page  table  entries  at  intervals  of  σ  seconds,  where  σ  =  τ  /  K  (K  an  integer  constant)  

15  

“The  idea  of  sampling  for  used  pages  was  not  new  ……  What  was  new  was  that  the  window  was  defined  in  the  virtual  :me  of  the  program  …”  

Page 16: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Detec?ng  W(t,  τ)  

•  Page  table  entries  for  detec?ng  W(t,  τ)  

16  

-­‐  M  is  1  if  and  only  if  page  is  in  main  memory  

-­‐  1-­‐>u0  each  ?me  a  page  reference  occurs  

-­‐  At  end  of  each  sampling  interval,  pa=ern  in  use  bits  shised  right  one  posi?on  

Page 17: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Memory  Alloca?on  

•  A  program  will  not  be  run  unless  there  is  space  in  memory  for  its  working  set  

•  Knowledge  of  working  set  size  w(t,  τ)  with  demand  paging  suffices  to  mange  memory  well  

•  Before  running  a  process,  insure  that  there  are  enough  pages  of  memory  to  contain  its  working  set  

17  

Page 18: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Scheduling  Implementa?on  with  Working  Set  

18  

•  Required  proper?es  – Memory  management  and  process  scheduling  be  closely  related  ac?vi?es  

– Sampling  of  page  tables,  only  on  changing  working  sets,  and  as  infrequently  as  possible  

– Provide  measurements  of  current  working  set  sizes  and  processor  ?me  consump?on  for  each  process  

Page 19: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

19  

Page 20: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Resource  Alloca?on:  A  Balancing  Problem  

•  Formulate  the  resource  alloca?on  as  a  problem  of  balancing  processor  and  memory  demands  against  available  resources  

•  “memory  demand”  of  process  I        where  M  is  number  of  pages  of  main  memory  

20  

Page 21: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Resource  Alloca?on:  A  Balancing  Problem  

•  But  how  to  define  the  “processor  demand”  •  Idea:  define  “processor  demand”  to  be  the  frac?on  of  a  standard  interval  a  process  is  expected  to  use  before  it  blocks  – Standard  interval  A,  chosen  to  reflect  the  maximum  tolerable  response  ?me  to  a  user  – Condi?onal  expecta?on  func?on  Q(ti),  to  predict  the  amount  of  process  ?me  to  elapse  before  the  next  interac?on  

21  

Page 22: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Resource  Alloca?on:  A  Balancing  Problem  

•  “processor  demand”  of  process  i      

Where    N  is  the  number  of  processors    

•  “system  demand”  is  defined  as  Di  =  (pi,  mi)  

22  

Page 23: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Resource  Alloca?on:  A  Balancing  Problem  

•  Then,  a  system  is  balanced  if      S  is  dynamically  maintained,  and  measures  the  

total  demand  of  current  running  list    α,  β  are  constants  chose  to  achieve  desired  

frac?on  of  resource  to  cons?tute  balance  •  To  keep  the  computer  system  in  balance,  a  “balance  policy”  can  be  designed  to  minimize          (  S  –  (α,  β  )  )      

23  

Page 24: The$Working$SetModel$for$ Program$Behavior$ · The$Working$SetModel$for$ Program$Behavior$ Peter$J.$Denning$ Massachuse=s$Ins?tute$of$Technology,$ Cambridge,$Massachuse=s$ 1

Conclusion  

•  Define  the  working  set  model  for  program  behavior  

•  Working  set  model  provides  an  convenient  way  to  determine  what  informa?on  is  in  use  by  a  computa?on  and  which  is  not  

•  Working  set  model  enables  simple  determina?on  of  memory  demands  

24