SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
Virtual Memory II




                    1
TLB Recap
• Fast associative cache of page table
  entries
  – Contains a subset of the page table
  – What happens if required entry for translation
    is not present (a TLB miss)?




                                                 2
TLB Recap
• TLB may or may not be under OS control
  – Hardware-loaded TLB
    • On miss, hardware performs PT lookup and
      reloads TLB
    • Example: Pentium
  – Software-loaded TLB
    • On miss, hardware generates a TLB miss
      exception, and exception handler reloads TLB
    • Example: MIPS

                                                     3
Aside: even if filled by software
• TLB still a hardware-based translator
0xFFFFFFFF
        R3000 TLB                               kseg2
         Handling                  0xC0000000
• TLB refill is handled by                      kseg1
  software                         0xA0000000
   – An exception handler                       kseg0
• TLB refill exceptions            0x80000000
  accessing kuseg are
  expected to be frequent
   – CPU optimised for handling
     kuseg TLB refills by having                kuseg
     a special exception handler
     just for TLB refills

                                                        5
                                   0x00000000
Exception Vectors




    Special exception
     vector for kuseg
        TLB refills


                        6
Special Exception Vector
• Can be optimised for TLB refill          • An example routine
  only                                     mfc0 k1,C0_CONTEXT
    – Does not need to check the           mfc0 k0,C0_EPC # mfc0 delay
      exception type                                         # slot
    – Does not need to save any            lw k1,0(k1) # may double
      registers                               # fault (k0 = orig EPC)
        • It uses a specialised
          assembly routine that only       nop
          uses k0 and k1.                  mtc0 k1,C0_ENTRYLO
    – Does not check if PTE exists         nop
        • Assumes virtual linear array –   tlbwr
          see extended OS notes
                                           jr k0
                                           rfe
• With careful data structure
  choice, exception handler can
  be made very fast

                                                                    7
MIPS VM Related Exceptions
• TLB refill
   – Handled via special exception vector
   – Needs to be very fast
• Others handled by the general exception vector
   – TLB Mod
       • TLB modify exception, attempt to write to a read-only page
   – TLB Load
       • Attempt it load from a page with an invalid translation
   – TLB Store
       • Attempt to store to a page with an invalid translation
   – Note: these can be slower as they are mostly either caused by
     an error, or non-resident page.
       • We never optimise for errors, and page-loads from disk dominate
         the fault resolution cost.


                                                                       8
<Intermezzo>
Amdahl’s law

• States that overall performance
  improvement is limited by the fraction of
  time an enhancement can be used
Law of diminishing returns

         50     50         ⇒           50    25
      Timeold                                   Timenew
  fraction in enhanced mode = 0.5 (based on old system)
               Speedup of enhanced mode = 2
Amdahl’s law

• States that overall performance
  improvement is limited by the fraction of
  time an enhancement can be used

                 ExecutionTimeWithoutEnhancement
     Speedup =
                  ExecutionTimeWithEnhancement
</Intermezzo>
c0 Registers
• c0_EPC
  – The address of where to restart after the exception
• c0_status
  – Kernel/User Mode bits, Interrupt control
• c0_cause
  – What caused the exception
• c0_badvaddr
  – The address of the fault



                                                          13
The TLB and EntryHi,EntryLo
 c0 Registers                              TLB

  c0_EntryHi                          EntryHi   EntryLo
  c0_EntryLo                          EntryHi   EntryLo
                 Each TLB entry
   c0_Index                           EntryHi   EntryLo
                 contains
Used to read                          EntryHi   EntryLo
                 • EntryHi to match
and write        page# and ASID       EntryHi   EntryLo
individual TLB                        EntryHi   EntryLo
entries          •EntryLo which
                 contains frame#      EntryHi   EntryLo
                 and protection       EntryHi   EntryLo
                                                    14
c0 Registers




• N = Not cacheable           • V = valid bit
• D = Dirty = Write protect   • 64 TLB entries
                              • Accessed via software through
• G = Global (ignore ASID       Cooprocessor 0 registers
  in lookup)                     – EntryHi and EntryLo

                                                         15
c0 Index Register
• Used as an index to TLB entries
  – Single TLB entries are manipulated/viewed through
    EntryHi and EntryLo0
  – Index register specifies which TLB entry to
    change/view




                                                    16
Special TLB management
            Instructions
• TLBR
  – TLB read
      • EntryHi and EntryLo are loaded from the entry pointer to by the
        index register.
• TLBP
  – TLB probe
  – Set EntryHi to the entry you wish to match, index register is
    loaded with the index to the matching entry
• TLBWR
  – Write EntryHi and EntryLo to a psuedo-random location in the
    TLB
• TLBWI
  – Write EntryHi and EntryLo to the location in the TLB pointed to
    by the Index register.
                                                                          17
Cooprocessor 0 registers on a
       refill exception
c0.EPC ← PC
c0.cause.ExcCode ← TLBL ; if read fault
c0.cause.ExcCode ← TLBS ; if write fault
c0.BadVaddr ← faulting address
c0.EntryHi.VPN ← faulting address
c0.status ← kernel mode, interrupts disabled.
c0.PC ← 0x8000 0000


                                                18
Outline of TLB miss handling
• Software does:
  – Look up PTE corresponding to the faulting address
  – If found:
     • load c0_EntryLo with translation
     • load TLB using TLBWR instructions
     • return from exception
  – Else, page fault
• The TLB entry (i.e. c0_EntryLo) can be:
  – created on the fly, or
  – stored completely in the right format in page table
     • more efficient

                                                          19
OS/161 Refill Handler
• After switch to kernel stack, it simply calls the common
  exception handler
   –   Stacks all registers
   –   Can (and does) call ‘C’ code
   –   Unoptimised
   –   Goal is ease of kernel programming, not efficiency
• Does not have a page table
   – It uses the 64 TLB entries and then panics when it runs out.
        • Only support 256K user-level address space




                                                                    20
Demand
Paging/Segmentation




                      21
Demand Paging/Segmentation
• With VM, only parts of the program image need to be
  resident in memory for execution.
• Can transfer presently unused pages/segments to disk
• Reload non-resident pages/segment on demand.
   –   Reload is triggered by a page or segment fault
   –   Faulting process is blocked and another scheduled
   –   When page/segment is resident, faulting process is restarted
   –   May require freeing up memory first
        • Replace current resident page/segment
        • How determine replacement “victim”?
   – If victim is unmodified (“clean”) can simply discard it
        • This is reason for maintaining a “dirty” bit in the PT
                                                                      22
• Why does demand paging/segmentation work?
  – Program executes at full speed only when accessing
    the resident set.
  – TLB misses introduce delays of several microseconds
  – Page/segment faults introduce delays of several
    milliseconds
  – Why do it?
• Answer
  – Less physical memory required per process
     • Can fit more processes in memory
     • Improved chance of finding a runnable one
  – Principle of locality

                                                    23
Principle of Locality
• An important observation comes from empirical
  studies of the properties of programs.
  – Programs tend to reuse data and instructions they
    have used recently.
  – 90/10 rule
    "A program spends 90% of its time in 10% of its code"
• We can exploit this locality of references
• An implication of locality is that we can
  reasonably predict what instructions and data a
  program will use in the near future based on its
  accesses in the recent past.
                                                      24
• Two different types of locality have been
  observed:
  – Temporal locality: states that recently accessed items
    are likely to be accessed in the near future.
  – Spatial locality: says that items whose addresses are
    near one another tend to be referenced close
    together in time.




                                                      25
Locality In A Memory-Reference Pattern




                                     26
Working Set
• The pages/segments required by an application in a time
  window (∆ )is called its memory working set.
• Working set is an approximation of a programs’ locality
   –   if ∆ too small will not encompass entire locality.
   –   if ∆ too large will encompass several localities.
   –   if ∆ = ∞ ⇒ will encompass entire program.
   –   ∆’s size is an application specific tradeoff
• System should keep resident at least a process’s
  working set
   – Process executes while it remains in its working set
• Working set tends to change gradually
        • Get only a few page/segment faults during a time window
        • Possible to make intelligent guesses about which pieces will be
          needed in the future
            – May be able to pre-fetch page/segments
                                                                            27
Working Set Model




∆




                        28
Thrashing
• CPU utilisation tends to increase with the degree of
  multiprogramming
   – number of processes in system
• Higher degrees of multiprogramming – less memory
  available per process
• Some process’s working sets may no longer fit in RAM
   – Implies an increasing page fault rate
• Eventually many processes have insufficient memory
   – Can’t always find a runnable process
   – Decreasing CPU utilisation
   – System become I/O limited
• This is called thrashing.

                                                         29
Thrashing




• Why does thrashing occur?
Σ working set sizes > total physical memory size


                                               30
Recovery From Thrashing
• In the presence of increasing page fault
  frequency and decreasing CPU utilisation
  – Suspend a few processes to reduce degree of
    multiprogramming
  – Resident pages of suspended processes will migrate
    to backing store
  – More physical memory becomes available
     • Less faults, faster progress for runnable processes
  – Resume suspended processes later when memory
    pressure eases


                                                             31
Quiz
• how does an IPT work?
  – what is good about it?
  – what is bad about it?
• what is the TLB?
  – what happens on a context switch?
• what is a working set?
• what is thrashing?
What is the difference?
                                  Array[a][b]
/* reset array */
int array[10000][10000];              b
int i,j;                          a
for (i = 0; i < 10000; i++) {
  for (j = 0; j < 10000;j ++) {
      array[i][j] = 0;
      /* array[j][i] = 0 */
  }
}




                                                33
VM Management Policies




                         34
VM Management Policies
• Operation and performance of VM system is
  dependent on a number of policies:
  – Page table format (my be dictated by hardware)
       • Multi-level
       • Hashed
  –   Page size (may be dictated by hardware)
  –   Fetch Policy
  –   Replacement policy
  –   Resident set size
       • Minimum allocation
       • Local versus global allocation
  – Page cleaning policy
  – Degree of multiprogramming
                                                     35
Page Size
Increasing page size
   Increases internal fragmentation
     reduces adaptability to working set size
  Decreases number of pages
     Reduces size of page tables
  Increases TLB coverage
     Reduces number of TLB misses
  Increases page fault latency
     Need to read more from disk before restarting process
  Increases swapping I/O throughput
     Small I/O are dominated by seek/rotation delays
  Optimal page size is a (work-load dependent) trade-off.
                                                             36
Working Set Size Generally
Increases with Increasing Page
      Size: True/False?




                            37
Atlas               512 words (48-bit)
Honeywell/Multics   1K words (36-bit)
IBM 370/XA          4K bytes
DEC VAX             512 bytes
IBM AS/400          512 bytes
Intel Pentium       4K and 4M bytes
ARM                 4K and 64K bytes
MIPS R4000          4k – 16M bytes in powers of 4
DEC Alpha           8K - 4M bytes in powers of 8
UltraSPARC          8K – 4M bytes in powers of 8
PowerPC             4K bytes + “blocks”
Intel IA-64         4K – 256M bytes in powers of 4


                                                     38
Page Size
• Multiple page sizes provide flexibility to
  optimise the use of the TLB
• Example:
  – Large page sizes can be use for code
  – Small page size for thread stacks
• Most operating systems support only a
  single page size
  – Dealing with multiple page sizes is hard!

                                                39
Fetch Policy
• Determines when a page should be brought into
  memory
  – Demand paging only loads pages in response to page
    faults
     • Many page faults when a process first starts
  – Pre-paging brings in more pages than needed at the
    moment
     • Improves I/O performance by reading in larger chunks
     • Pre-fetch when disk is idle
     • Wastes I/O bandwidth if pre-fetched pages aren’t used
     • Especially bad if we eject pages in working set in order to
       pre-fetch unused pages.
     • Hard to get right in practice.


                                                                     40
15
                          Replacement
                     14
                     13
                             Policy
  Page fault on      12
page 14, physical    11
memory full, which   10             14
 page should we       9
     evict?           8                   10
                      7   7              Disk
                      6   6
                      5   5
                      4   4
           Virtual    3   3
                      2   2
          Memory      1   1   Physical Address
                                                 41
                      0   0        Space
Replacement Policy
• Which page is chosen to be tossed out?
  – Page removed should be the page least likely to be
    references in the near future
  – Most policies attempt to predict the future behaviour
    on the basis of past behaviour
• Constraint: locked frames
  –   Kernel code
  –   Main kernel data structure
  –   I/O buffers
  –   Performance-critical user-pages (e.g. for DBMS)
• Frame table has a lock bit
                                                        42
Optimal Replacement policy
• Toss the page that won’t be used for the longest
  time
• Impossible to implement
• Only good as a theoretic reference point:
  – The closer a practical algorithm gets to optimal, the
    better
• Example:
  – Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
  – Four frames
  – How many page faults?

                                                           43
FIFO Replacement Policy
• First-in, first-out: Toss the oldest page
  – Easy to implement
  – Age of a page is isn’t necessarily related to
    usage
• Example:
  – Reference string: 1,2,3,4,1,2,5,1,2,3,4,5
  – Four frames
  – How many page faults?
  – Three frames?

                                                    44
FIFO Replacement Policy
• First-in, first-out: Toss the oldest page
  – Easy to implement
  – Age of a page is isn’t necessarily related to
    usage
• Example:
  – Reference string: 1,2,3,4,1,2,5,1,2,3,4,5
  – Four frames
  – How many page faults?
  – Three frames?

                                                    45
Belady’s Anomaly
• For FIFO, more frames does not imply
  fewer page faults




                                         46
Least Recently Used (LRU)
• Toss the least recently used page
  – Assumes that page that has not been referenced for a
    long time is unlikely to be referenced in the near
    future
  – Will work if locality holds
  – Implementation requires a time stamp to be kept for
    each page, updated on every reference
  – Impossible to implement efficiently
  – Most practical algorithms are approximations of LRU


                                                     47
Clock Page Replacement
• Clock policy, also called second chance
  – Employs a usage or reference bit in the frame
    table.
  – Set to one when page is used
  – While scanning for a victim, reset all the
    reference bits
  – Toss the first page with a zero reference bit.



                                               48
Assume a page
fault on page 727
Issue
• How do we know when a page is referenced?
• Use the valid bit in the PTE:
  – When a page is mapped (valid bit set), set the
    reference bit
  – When resetting the reference bit, invalidate the PTE
    entry
  – On page fault
     • Turn on valid bit in PTE
     • Turn on reference bit
• We thus simulate a reference bit in software
                                                       52
Simulating a Reference Bit




                             53
Performance
•    It terms of selecting the most appropriate
     replacement, they rank as follows
    1.   Optimal
    2.   LRU
    3.   Clock
    4.   FIFO
–    Note there are other algorithms (Working Set,
     WSclock, Ageing, NFU, NRU)
    –    We don’t expect you to know them in this course

                                                           54
Resident Set Size
• How many frames should each process have?
  – Fixed Allocation
     • Gives a process a fixed number of pages within which to
       execute.
     • When a page fault occurs, one of the pages of that process
       must be replaced.
     • Achieving high utilisation is an issue.
        – Some processes have high fault rate while others don’t use
          their allocation.
  – Variable Allocation
     • Number of pages allocated to a process varies over the
       lifetime of the process

                                                                       55
Variable Allocation, Global Scope
  – Easiest to implement
  – Adopted by many operating systems
  – Operating system keeps global list of free frames
  – Free frame is added to resident set of process when a
    page fault occurs
  – If no free frame, replaces one from any process
• Pro/Cons
  – Automatic balancing across system
  – Does not provide guarantees for important
    activities
                                                      56
Variable Allocation, Local Scope
• Allocate number of page frames to a new process based
  on
   – Application type
   – Program request
   – Other criteria (priority)
• When a page fault occurs, select a page from among the
  resident set of the process that suffers the page fault
• Re-evaluate allocation from time to time!




                                                      57
Page-Fault Frequency Scheme




 • Establish “acceptable” page-fault rate.
   – If actual rate too low, process loses frame.
   – If actual rate too high, process gains frame.
                                                     58
Cleaning Policy
• Observation
   – Clean pages are much cheaper to replace than dirty pages
• Demand cleaning
   – A page is written out only when it has been selected for
     replacement
   – High latency between the decision to replace and availability of
     free frame.
• Precleaning
   – Pages are written out in batches (in the background, the
     pagedaemon)
   – Increases likelihood of replacing clean frames
   – Overlap I/O with current activity


                                                                   59
Load Control (Degree of
         multiprogramming)
• Determines the number of runnable processes
• Controlled by:
   – Admission control
      • Only let new process’s threads enter ready state if enough memory
        is available
   – Suspension:
      • Move all threads of some process into a special suspended state
      • Swap complete process image of suspended process to disk
• Trade-off
   – Too many processes will lead to thrashing
   – Too few will lead to idle CPU


                                                                      60
Load Control Considerations




• Can use page fault frequency.


                                  61

Contenu connexe

Tendances

Linker and loader upload
Linker and loader   uploadLinker and loader   upload
Linker and loader uploadBin Yang
 
XenTT: Deterministic Systems Analysis in Xen
XenTT: Deterministic Systems Analysis in XenXenTT: Deterministic Systems Analysis in Xen
XenTT: Deterministic Systems Analysis in XenThe Linux Foundation
 
CNIT 127: Ch 8: Windows overflows (Part 2)
CNIT 127: Ch 8: Windows overflows (Part 2)CNIT 127: Ch 8: Windows overflows (Part 2)
CNIT 127: Ch 8: Windows overflows (Part 2)Sam Bowne
 
DEF CON 27 - JEFF DILEO - evil e bpf in depth
DEF CON 27 - JEFF DILEO - evil e bpf in depthDEF CON 27 - JEFF DILEO - evil e bpf in depth
DEF CON 27 - JEFF DILEO - evil e bpf in depthFelipe Prado
 
CNIT 127: Ch 4: Introduction to format string bugs
CNIT 127: Ch 4: Introduction to format string bugsCNIT 127: Ch 4: Introduction to format string bugs
CNIT 127: Ch 4: Introduction to format string bugsSam Bowne
 
Return-Oriented Programming: Exploits Without Code Injection
Return-Oriented Programming: Exploits Without Code InjectionReturn-Oriented Programming: Exploits Without Code Injection
Return-Oriented Programming: Exploits Without Code Injectionguest9f4856
 
CNIT 127 Ch 2: Stack overflows on Linux
CNIT 127 Ch 2: Stack overflows on LinuxCNIT 127 Ch 2: Stack overflows on Linux
CNIT 127 Ch 2: Stack overflows on LinuxSam Bowne
 
FOSDEM2016 - Ruby and OMR
FOSDEM2016 - Ruby and OMRFOSDEM2016 - Ruby and OMR
FOSDEM2016 - Ruby and OMRCharlie Gracie
 
Dynamic Instrumentation- OpenEBS Golang Meetup July 2017
Dynamic Instrumentation- OpenEBS Golang Meetup July 2017Dynamic Instrumentation- OpenEBS Golang Meetup July 2017
Dynamic Instrumentation- OpenEBS Golang Meetup July 2017OpenEBS
 
127 Ch 2: Stack overflows on Linux
127 Ch 2: Stack overflows on Linux127 Ch 2: Stack overflows on Linux
127 Ch 2: Stack overflows on LinuxSam Bowne
 
CNIT 127 Ch 1: Before you Begin
CNIT 127 Ch 1: Before you BeginCNIT 127 Ch 1: Before you Begin
CNIT 127 Ch 1: Before you BeginSam Bowne
 
Presentation on Shared Memory Parallel Programming
Presentation on Shared Memory Parallel ProgrammingPresentation on Shared Memory Parallel Programming
Presentation on Shared Memory Parallel ProgrammingVengada Karthik Rangaraju
 
2 Vampir Trace Visualization
2 Vampir Trace Visualization2 Vampir Trace Visualization
2 Vampir Trace VisualizationPTIHPA
 

Tendances (20)

Linker and loader upload
Linker and loader   uploadLinker and loader   upload
Linker and loader upload
 
XenTT: Deterministic Systems Analysis in Xen
XenTT: Deterministic Systems Analysis in XenXenTT: Deterministic Systems Analysis in Xen
XenTT: Deterministic Systems Analysis in Xen
 
CNIT 127: Ch 8: Windows overflows (Part 2)
CNIT 127: Ch 8: Windows overflows (Part 2)CNIT 127: Ch 8: Windows overflows (Part 2)
CNIT 127: Ch 8: Windows overflows (Part 2)
 
DEF CON 27 - JEFF DILEO - evil e bpf in depth
DEF CON 27 - JEFF DILEO - evil e bpf in depthDEF CON 27 - JEFF DILEO - evil e bpf in depth
DEF CON 27 - JEFF DILEO - evil e bpf in depth
 
CNIT 127: Ch 4: Introduction to format string bugs
CNIT 127: Ch 4: Introduction to format string bugsCNIT 127: Ch 4: Introduction to format string bugs
CNIT 127: Ch 4: Introduction to format string bugs
 
loaders and linkers
 loaders and linkers loaders and linkers
loaders and linkers
 
Return-Oriented Programming: Exploits Without Code Injection
Return-Oriented Programming: Exploits Without Code InjectionReturn-Oriented Programming: Exploits Without Code Injection
Return-Oriented Programming: Exploits Without Code Injection
 
Introduction to OpenMP
Introduction to OpenMPIntroduction to OpenMP
Introduction to OpenMP
 
OpenMp
OpenMpOpenMp
OpenMp
 
Open mp intro_01
Open mp intro_01Open mp intro_01
Open mp intro_01
 
LLVM
LLVMLLVM
LLVM
 
CNIT 127 Ch 2: Stack overflows on Linux
CNIT 127 Ch 2: Stack overflows on LinuxCNIT 127 Ch 2: Stack overflows on Linux
CNIT 127 Ch 2: Stack overflows on Linux
 
Openmp
OpenmpOpenmp
Openmp
 
FOSDEM2016 - Ruby and OMR
FOSDEM2016 - Ruby and OMRFOSDEM2016 - Ruby and OMR
FOSDEM2016 - Ruby and OMR
 
Dynamic Instrumentation- OpenEBS Golang Meetup July 2017
Dynamic Instrumentation- OpenEBS Golang Meetup July 2017Dynamic Instrumentation- OpenEBS Golang Meetup July 2017
Dynamic Instrumentation- OpenEBS Golang Meetup July 2017
 
127 Ch 2: Stack overflows on Linux
127 Ch 2: Stack overflows on Linux127 Ch 2: Stack overflows on Linux
127 Ch 2: Stack overflows on Linux
 
CNIT 127 Ch 1: Before you Begin
CNIT 127 Ch 1: Before you BeginCNIT 127 Ch 1: Before you Begin
CNIT 127 Ch 1: Before you Begin
 
Presentation on Shared Memory Parallel Programming
Presentation on Shared Memory Parallel ProgrammingPresentation on Shared Memory Parallel Programming
Presentation on Shared Memory Parallel Programming
 
2 Vampir Trace Visualization
2 Vampir Trace Visualization2 Vampir Trace Visualization
2 Vampir Trace Visualization
 
Should i Go there
Should i Go thereShould i Go there
Should i Go there
 

En vedette

B2B in Government Organizations
B2B in Government OrganizationsB2B in Government Organizations
B2B in Government OrganizationsAshley Spilak
 
মাধ্যমিক শিক্ষক প্রশিক্ষণ প্রয়োজন কেন?
মাধ্যমিক শিক্ষক প্রশিক্ষণ প্রয়োজন কেন?মাধ্যমিক শিক্ষক প্রশিক্ষণ প্রয়োজন কেন?
মাধ্যমিক শিক্ষক প্রশিক্ষণ প্রয়োজন কেন?Abul Bashar
 
Grau mitjà 1r torn- novembre 2013
Grau mitjà   1r torn- novembre 2013Grau mitjà   1r torn- novembre 2013
Grau mitjà 1r torn- novembre 2013Josep Miquel
 
Prof Arnold Taylor: The significant experiments of Robert Hooke - 8 June 2015
Prof Arnold Taylor: The significant experiments of Robert Hooke - 8 June 2015Prof Arnold Taylor: The significant experiments of Robert Hooke - 8 June 2015
Prof Arnold Taylor: The significant experiments of Robert Hooke - 8 June 2015onthewight
 
Prof. Tara Dean on allergies - Cafe Scientifique Isle of Wight
Prof. Tara Dean on allergies - Cafe Scientifique Isle of WightProf. Tara Dean on allergies - Cafe Scientifique Isle of Wight
Prof. Tara Dean on allergies - Cafe Scientifique Isle of Wightonthewight
 
実績、事例紹介マップ御提案書
実績、事例紹介マップ御提案書実績、事例紹介マップ御提案書
実績、事例紹介マップ御提案書Takaho Maeda
 
Value first corporate presentation
Value first corporate presentationValue first corporate presentation
Value first corporate presentationSachin Bhavsar
 
Slide bio4206
Slide bio4206Slide bio4206
Slide bio4206dparkin
 
Presentation for "Provas de Agergação" - 3 licao
Presentation for "Provas de Agergação" - 3 licaoPresentation for "Provas de Agergação" - 3 licao
Presentation for "Provas de Agergação" - 3 licaoAlvaro Barbosa
 
2n taller iloquid qualitat - diba - 06-06-12
2n taller iloquid   qualitat - diba - 06-06-122n taller iloquid   qualitat - diba - 06-06-12
2n taller iloquid qualitat - diba - 06-06-12Servei_Mercat_de_Treball
 
Prof. David Coggon: Environmental health hazards
Prof. David Coggon: Environmental health hazardsProf. David Coggon: Environmental health hazards
Prof. David Coggon: Environmental health hazardsonthewight
 
44th AES conference (2011)
44th AES conference (2011)44th AES conference (2011)
44th AES conference (2011)Alvaro Barbosa
 
Tele4653 l6
Tele4653 l6Tele4653 l6
Tele4653 l6Vin Voro
 
Ikumen communication
Ikumen communicationIkumen communication
Ikumen communicationTakaho Maeda
 
Transforming Our Voices - Social Media & BC Government (2010)
Transforming Our Voices - Social Media & BC Government (2010)Transforming Our Voices - Social Media & BC Government (2010)
Transforming Our Voices - Social Media & BC Government (2010)Ashley Spilak
 
Tele3113 wk7wed
Tele3113 wk7wedTele3113 wk7wed
Tele3113 wk7wedVin Voro
 

En vedette (20)

Ar&amp;G
Ar&amp;GAr&amp;G
Ar&amp;G
 
B2B in Government Organizations
B2B in Government OrganizationsB2B in Government Organizations
B2B in Government Organizations
 
মাধ্যমিক শিক্ষক প্রশিক্ষণ প্রয়োজন কেন?
মাধ্যমিক শিক্ষক প্রশিক্ষণ প্রয়োজন কেন?মাধ্যমিক শিক্ষক প্রশিক্ষণ প্রয়োজন কেন?
মাধ্যমিক শিক্ষক প্রশিক্ষণ প্রয়োজন কেন?
 
Sebastian ingles
Sebastian inglesSebastian ingles
Sebastian ingles
 
Grau mitjà 1r torn- novembre 2013
Grau mitjà   1r torn- novembre 2013Grau mitjà   1r torn- novembre 2013
Grau mitjà 1r torn- novembre 2013
 
Prof Arnold Taylor: The significant experiments of Robert Hooke - 8 June 2015
Prof Arnold Taylor: The significant experiments of Robert Hooke - 8 June 2015Prof Arnold Taylor: The significant experiments of Robert Hooke - 8 June 2015
Prof Arnold Taylor: The significant experiments of Robert Hooke - 8 June 2015
 
Prof. Tara Dean on allergies - Cafe Scientifique Isle of Wight
Prof. Tara Dean on allergies - Cafe Scientifique Isle of WightProf. Tara Dean on allergies - Cafe Scientifique Isle of Wight
Prof. Tara Dean on allergies - Cafe Scientifique Isle of Wight
 
実績、事例紹介マップ御提案書
実績、事例紹介マップ御提案書実績、事例紹介マップ御提案書
実績、事例紹介マップ御提案書
 
Value first corporate presentation
Value first corporate presentationValue first corporate presentation
Value first corporate presentation
 
Historia, tema 11
Historia, tema 11Historia, tema 11
Historia, tema 11
 
Slide bio4206
Slide bio4206Slide bio4206
Slide bio4206
 
Presentation for "Provas de Agergação" - 3 licao
Presentation for "Provas de Agergação" - 3 licaoPresentation for "Provas de Agergação" - 3 licao
Presentation for "Provas de Agergação" - 3 licao
 
2n taller iloquid qualitat - diba - 06-06-12
2n taller iloquid   qualitat - diba - 06-06-122n taller iloquid   qualitat - diba - 06-06-12
2n taller iloquid qualitat - diba - 06-06-12
 
Prof. David Coggon: Environmental health hazards
Prof. David Coggon: Environmental health hazardsProf. David Coggon: Environmental health hazards
Prof. David Coggon: Environmental health hazards
 
44th AES conference (2011)
44th AES conference (2011)44th AES conference (2011)
44th AES conference (2011)
 
Quang thai new
Quang thai newQuang thai new
Quang thai new
 
Tele4653 l6
Tele4653 l6Tele4653 l6
Tele4653 l6
 
Ikumen communication
Ikumen communicationIkumen communication
Ikumen communication
 
Transforming Our Voices - Social Media & BC Government (2010)
Transforming Our Voices - Social Media & BC Government (2010)Transforming Our Voices - Social Media & BC Government (2010)
Transforming Our Voices - Social Media & BC Government (2010)
 
Tele3113 wk7wed
Tele3113 wk7wedTele3113 wk7wed
Tele3113 wk7wed
 

Similaire à Lect15

MASK-address-space-aware-gpu-memory-hierarchy_asplos18-talk-nobackup.pptx
MASK-address-space-aware-gpu-memory-hierarchy_asplos18-talk-nobackup.pptxMASK-address-space-aware-gpu-memory-hierarchy_asplos18-talk-nobackup.pptx
MASK-address-space-aware-gpu-memory-hierarchy_asplos18-talk-nobackup.pptxAhmedMamdouh829955
 
Cloud Native Compiler
Cloud Native CompilerCloud Native Compiler
Cloud Native CompilerSimon Ritter
 
The Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageThe Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageKernel TLV
 
Haskell Symposium 2010: An LLVM backend for GHC
Haskell Symposium 2010: An LLVM backend for GHCHaskell Symposium 2010: An LLVM backend for GHC
Haskell Symposium 2010: An LLVM backend for GHCdterei
 
Instruction Level Parallelism (ILP) Limitations
Instruction Level Parallelism (ILP) LimitationsInstruction Level Parallelism (ILP) Limitations
Instruction Level Parallelism (ILP) LimitationsJose Pinilla
 
Ceph in the GRNET cloud stack
Ceph in the GRNET cloud stackCeph in the GRNET cloud stack
Ceph in the GRNET cloud stackNikos Kormpakis
 
Kernel Recipes 2019 - BPF at Facebook
Kernel Recipes 2019 - BPF at FacebookKernel Recipes 2019 - BPF at Facebook
Kernel Recipes 2019 - BPF at FacebookAnne Nicolas
 
Managing Unstructured Data: Lobs in the World of JSON
Managing Unstructured Data: Lobs in the World of JSONManaging Unstructured Data: Lobs in the World of JSON
Managing Unstructured Data: Lobs in the World of JSONMichael Rosenblum
 
Reduced instruction set computers
Reduced instruction set computersReduced instruction set computers
Reduced instruction set computersSyed Zaid Irshad
 
Remote core locking-Andrea Lombardo
Remote core locking-Andrea LombardoRemote core locking-Andrea Lombardo
Remote core locking-Andrea LombardoAndrea Lombardo
 
Search at Twitter: Presented by Michael Busch, Twitter
Search at Twitter: Presented by Michael Busch, TwitterSearch at Twitter: Presented by Michael Busch, Twitter
Search at Twitter: Presented by Michael Busch, TwitterLucidworks
 
Translation Look Aside buffer
Translation Look Aside buffer Translation Look Aside buffer
Translation Look Aside buffer Zara Nawaz
 
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...Continuent
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64Yi-Hsiu Hsu
 
SFO15-406: ARM FDPIC toolset, kernel & libraries for Cortex-M & Cortex-R mmul...
SFO15-406: ARM FDPIC toolset, kernel & libraries for Cortex-M & Cortex-R mmul...SFO15-406: ARM FDPIC toolset, kernel & libraries for Cortex-M & Cortex-R mmul...
SFO15-406: ARM FDPIC toolset, kernel & libraries for Cortex-M & Cortex-R mmul...Linaro
 
OptView2 MUC meetup slides
OptView2 MUC meetup slidesOptView2 MUC meetup slides
OptView2 MUC meetup slidesOfek Shilon
 
Intel® hyper threading technology
Intel® hyper threading technologyIntel® hyper threading technology
Intel® hyper threading technologyAmirali Sharifian
 
JDK8 Functional API
JDK8 Functional APIJDK8 Functional API
JDK8 Functional APIJustin Lin
 

Similaire à Lect15 (20)

MASK-address-space-aware-gpu-memory-hierarchy_asplos18-talk-nobackup.pptx
MASK-address-space-aware-gpu-memory-hierarchy_asplos18-talk-nobackup.pptxMASK-address-space-aware-gpu-memory-hierarchy_asplos18-talk-nobackup.pptx
MASK-address-space-aware-gpu-memory-hierarchy_asplos18-talk-nobackup.pptx
 
Cloud Native Compiler
Cloud Native CompilerCloud Native Compiler
Cloud Native Compiler
 
The Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageThe Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast Storage
 
Embedded _c_
Embedded  _c_Embedded  _c_
Embedded _c_
 
Haskell Symposium 2010: An LLVM backend for GHC
Haskell Symposium 2010: An LLVM backend for GHCHaskell Symposium 2010: An LLVM backend for GHC
Haskell Symposium 2010: An LLVM backend for GHC
 
Instruction Level Parallelism (ILP) Limitations
Instruction Level Parallelism (ILP) LimitationsInstruction Level Parallelism (ILP) Limitations
Instruction Level Parallelism (ILP) Limitations
 
Ceph in the GRNET cloud stack
Ceph in the GRNET cloud stackCeph in the GRNET cloud stack
Ceph in the GRNET cloud stack
 
Kernel Recipes 2019 - BPF at Facebook
Kernel Recipes 2019 - BPF at FacebookKernel Recipes 2019 - BPF at Facebook
Kernel Recipes 2019 - BPF at Facebook
 
Managing Unstructured Data: Lobs in the World of JSON
Managing Unstructured Data: Lobs in the World of JSONManaging Unstructured Data: Lobs in the World of JSON
Managing Unstructured Data: Lobs in the World of JSON
 
Reduced instruction set computers
Reduced instruction set computersReduced instruction set computers
Reduced instruction set computers
 
17 registers
17 registers17 registers
17 registers
 
Remote core locking-Andrea Lombardo
Remote core locking-Andrea LombardoRemote core locking-Andrea Lombardo
Remote core locking-Andrea Lombardo
 
Search at Twitter: Presented by Michael Busch, Twitter
Search at Twitter: Presented by Michael Busch, TwitterSearch at Twitter: Presented by Michael Busch, Twitter
Search at Twitter: Presented by Michael Busch, Twitter
 
Translation Look Aside buffer
Translation Look Aside buffer Translation Look Aside buffer
Translation Look Aside buffer
 
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64
 
SFO15-406: ARM FDPIC toolset, kernel & libraries for Cortex-M & Cortex-R mmul...
SFO15-406: ARM FDPIC toolset, kernel & libraries for Cortex-M & Cortex-R mmul...SFO15-406: ARM FDPIC toolset, kernel & libraries for Cortex-M & Cortex-R mmul...
SFO15-406: ARM FDPIC toolset, kernel & libraries for Cortex-M & Cortex-R mmul...
 
OptView2 MUC meetup slides
OptView2 MUC meetup slidesOptView2 MUC meetup slides
OptView2 MUC meetup slides
 
Intel® hyper threading technology
Intel® hyper threading technologyIntel® hyper threading technology
Intel® hyper threading technology
 
JDK8 Functional API
JDK8 Functional APIJDK8 Functional API
JDK8 Functional API
 

Plus de Vin Voro

Tele3113 tut6
Tele3113 tut6Tele3113 tut6
Tele3113 tut6Vin Voro
 
Tele3113 tut5
Tele3113 tut5Tele3113 tut5
Tele3113 tut5Vin Voro
 
Tele3113 tut4
Tele3113 tut4Tele3113 tut4
Tele3113 tut4Vin Voro
 
Tele3113 tut1
Tele3113 tut1Tele3113 tut1
Tele3113 tut1Vin Voro
 
Tele3113 tut3
Tele3113 tut3Tele3113 tut3
Tele3113 tut3Vin Voro
 
Tele3113 tut2
Tele3113 tut2Tele3113 tut2
Tele3113 tut2Vin Voro
 
Tele3113 wk11tue
Tele3113 wk11tueTele3113 wk11tue
Tele3113 wk11tueVin Voro
 
Tele3113 wk10wed
Tele3113 wk10wedTele3113 wk10wed
Tele3113 wk10wedVin Voro
 
Tele3113 wk10tue
Tele3113 wk10tueTele3113 wk10tue
Tele3113 wk10tueVin Voro
 
Tele3113 wk11wed
Tele3113 wk11wedTele3113 wk11wed
Tele3113 wk11wedVin Voro
 
Tele3113 wk9tue
Tele3113 wk9tueTele3113 wk9tue
Tele3113 wk9tueVin Voro
 
Tele3113 wk8wed
Tele3113 wk8wedTele3113 wk8wed
Tele3113 wk8wedVin Voro
 
Tele3113 wk9wed
Tele3113 wk9wedTele3113 wk9wed
Tele3113 wk9wedVin Voro
 
Tele3113 wk7wed
Tele3113 wk7wedTele3113 wk7wed
Tele3113 wk7wedVin Voro
 
Tele3113 wk7wed
Tele3113 wk7wedTele3113 wk7wed
Tele3113 wk7wedVin Voro
 
Tele3113 wk7tue
Tele3113 wk7tueTele3113 wk7tue
Tele3113 wk7tueVin Voro
 
Tele3113 wk6wed
Tele3113 wk6wedTele3113 wk6wed
Tele3113 wk6wedVin Voro
 
Tele3113 wk6tue
Tele3113 wk6tueTele3113 wk6tue
Tele3113 wk6tueVin Voro
 
Tele3113 wk5tue
Tele3113 wk5tueTele3113 wk5tue
Tele3113 wk5tueVin Voro
 
Tele3113 wk4wed
Tele3113 wk4wedTele3113 wk4wed
Tele3113 wk4wedVin Voro
 

Plus de Vin Voro (20)

Tele3113 tut6
Tele3113 tut6Tele3113 tut6
Tele3113 tut6
 
Tele3113 tut5
Tele3113 tut5Tele3113 tut5
Tele3113 tut5
 
Tele3113 tut4
Tele3113 tut4Tele3113 tut4
Tele3113 tut4
 
Tele3113 tut1
Tele3113 tut1Tele3113 tut1
Tele3113 tut1
 
Tele3113 tut3
Tele3113 tut3Tele3113 tut3
Tele3113 tut3
 
Tele3113 tut2
Tele3113 tut2Tele3113 tut2
Tele3113 tut2
 
Tele3113 wk11tue
Tele3113 wk11tueTele3113 wk11tue
Tele3113 wk11tue
 
Tele3113 wk10wed
Tele3113 wk10wedTele3113 wk10wed
Tele3113 wk10wed
 
Tele3113 wk10tue
Tele3113 wk10tueTele3113 wk10tue
Tele3113 wk10tue
 
Tele3113 wk11wed
Tele3113 wk11wedTele3113 wk11wed
Tele3113 wk11wed
 
Tele3113 wk9tue
Tele3113 wk9tueTele3113 wk9tue
Tele3113 wk9tue
 
Tele3113 wk8wed
Tele3113 wk8wedTele3113 wk8wed
Tele3113 wk8wed
 
Tele3113 wk9wed
Tele3113 wk9wedTele3113 wk9wed
Tele3113 wk9wed
 
Tele3113 wk7wed
Tele3113 wk7wedTele3113 wk7wed
Tele3113 wk7wed
 
Tele3113 wk7wed
Tele3113 wk7wedTele3113 wk7wed
Tele3113 wk7wed
 
Tele3113 wk7tue
Tele3113 wk7tueTele3113 wk7tue
Tele3113 wk7tue
 
Tele3113 wk6wed
Tele3113 wk6wedTele3113 wk6wed
Tele3113 wk6wed
 
Tele3113 wk6tue
Tele3113 wk6tueTele3113 wk6tue
Tele3113 wk6tue
 
Tele3113 wk5tue
Tele3113 wk5tueTele3113 wk5tue
Tele3113 wk5tue
 
Tele3113 wk4wed
Tele3113 wk4wedTele3113 wk4wed
Tele3113 wk4wed
 

Dernier

4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 

Dernier (20)

4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 

Lect15

  • 2. TLB Recap • Fast associative cache of page table entries – Contains a subset of the page table – What happens if required entry for translation is not present (a TLB miss)? 2
  • 3. TLB Recap • TLB may or may not be under OS control – Hardware-loaded TLB • On miss, hardware performs PT lookup and reloads TLB • Example: Pentium – Software-loaded TLB • On miss, hardware generates a TLB miss exception, and exception handler reloads TLB • Example: MIPS 3
  • 4. Aside: even if filled by software • TLB still a hardware-based translator
  • 5. 0xFFFFFFFF R3000 TLB kseg2 Handling 0xC0000000 • TLB refill is handled by kseg1 software 0xA0000000 – An exception handler kseg0 • TLB refill exceptions 0x80000000 accessing kuseg are expected to be frequent – CPU optimised for handling kuseg TLB refills by having kuseg a special exception handler just for TLB refills 5 0x00000000
  • 6. Exception Vectors Special exception vector for kuseg TLB refills 6
  • 7. Special Exception Vector • Can be optimised for TLB refill • An example routine only mfc0 k1,C0_CONTEXT – Does not need to check the mfc0 k0,C0_EPC # mfc0 delay exception type # slot – Does not need to save any lw k1,0(k1) # may double registers # fault (k0 = orig EPC) • It uses a specialised assembly routine that only nop uses k0 and k1. mtc0 k1,C0_ENTRYLO – Does not check if PTE exists nop • Assumes virtual linear array – tlbwr see extended OS notes jr k0 rfe • With careful data structure choice, exception handler can be made very fast 7
  • 8. MIPS VM Related Exceptions • TLB refill – Handled via special exception vector – Needs to be very fast • Others handled by the general exception vector – TLB Mod • TLB modify exception, attempt to write to a read-only page – TLB Load • Attempt it load from a page with an invalid translation – TLB Store • Attempt to store to a page with an invalid translation – Note: these can be slower as they are mostly either caused by an error, or non-resident page. • We never optimise for errors, and page-loads from disk dominate the fault resolution cost. 8
  • 10. Amdahl’s law • States that overall performance improvement is limited by the fraction of time an enhancement can be used Law of diminishing returns 50 50 ⇒ 50 25 Timeold Timenew fraction in enhanced mode = 0.5 (based on old system) Speedup of enhanced mode = 2
  • 11. Amdahl’s law • States that overall performance improvement is limited by the fraction of time an enhancement can be used ExecutionTimeWithoutEnhancement Speedup = ExecutionTimeWithEnhancement
  • 13. c0 Registers • c0_EPC – The address of where to restart after the exception • c0_status – Kernel/User Mode bits, Interrupt control • c0_cause – What caused the exception • c0_badvaddr – The address of the fault 13
  • 14. The TLB and EntryHi,EntryLo c0 Registers TLB c0_EntryHi EntryHi EntryLo c0_EntryLo EntryHi EntryLo Each TLB entry c0_Index EntryHi EntryLo contains Used to read EntryHi EntryLo • EntryHi to match and write page# and ASID EntryHi EntryLo individual TLB EntryHi EntryLo entries •EntryLo which contains frame# EntryHi EntryLo and protection EntryHi EntryLo 14
  • 15. c0 Registers • N = Not cacheable • V = valid bit • D = Dirty = Write protect • 64 TLB entries • Accessed via software through • G = Global (ignore ASID Cooprocessor 0 registers in lookup) – EntryHi and EntryLo 15
  • 16. c0 Index Register • Used as an index to TLB entries – Single TLB entries are manipulated/viewed through EntryHi and EntryLo0 – Index register specifies which TLB entry to change/view 16
  • 17. Special TLB management Instructions • TLBR – TLB read • EntryHi and EntryLo are loaded from the entry pointer to by the index register. • TLBP – TLB probe – Set EntryHi to the entry you wish to match, index register is loaded with the index to the matching entry • TLBWR – Write EntryHi and EntryLo to a psuedo-random location in the TLB • TLBWI – Write EntryHi and EntryLo to the location in the TLB pointed to by the Index register. 17
  • 18. Cooprocessor 0 registers on a refill exception c0.EPC ← PC c0.cause.ExcCode ← TLBL ; if read fault c0.cause.ExcCode ← TLBS ; if write fault c0.BadVaddr ← faulting address c0.EntryHi.VPN ← faulting address c0.status ← kernel mode, interrupts disabled. c0.PC ← 0x8000 0000 18
  • 19. Outline of TLB miss handling • Software does: – Look up PTE corresponding to the faulting address – If found: • load c0_EntryLo with translation • load TLB using TLBWR instructions • return from exception – Else, page fault • The TLB entry (i.e. c0_EntryLo) can be: – created on the fly, or – stored completely in the right format in page table • more efficient 19
  • 20. OS/161 Refill Handler • After switch to kernel stack, it simply calls the common exception handler – Stacks all registers – Can (and does) call ‘C’ code – Unoptimised – Goal is ease of kernel programming, not efficiency • Does not have a page table – It uses the 64 TLB entries and then panics when it runs out. • Only support 256K user-level address space 20
  • 22. Demand Paging/Segmentation • With VM, only parts of the program image need to be resident in memory for execution. • Can transfer presently unused pages/segments to disk • Reload non-resident pages/segment on demand. – Reload is triggered by a page or segment fault – Faulting process is blocked and another scheduled – When page/segment is resident, faulting process is restarted – May require freeing up memory first • Replace current resident page/segment • How determine replacement “victim”? – If victim is unmodified (“clean”) can simply discard it • This is reason for maintaining a “dirty” bit in the PT 22
  • 23. • Why does demand paging/segmentation work? – Program executes at full speed only when accessing the resident set. – TLB misses introduce delays of several microseconds – Page/segment faults introduce delays of several milliseconds – Why do it? • Answer – Less physical memory required per process • Can fit more processes in memory • Improved chance of finding a runnable one – Principle of locality 23
  • 24. Principle of Locality • An important observation comes from empirical studies of the properties of programs. – Programs tend to reuse data and instructions they have used recently. – 90/10 rule "A program spends 90% of its time in 10% of its code" • We can exploit this locality of references • An implication of locality is that we can reasonably predict what instructions and data a program will use in the near future based on its accesses in the recent past. 24
  • 25. • Two different types of locality have been observed: – Temporal locality: states that recently accessed items are likely to be accessed in the near future. – Spatial locality: says that items whose addresses are near one another tend to be referenced close together in time. 25
  • 26. Locality In A Memory-Reference Pattern 26
  • 27. Working Set • The pages/segments required by an application in a time window (∆ )is called its memory working set. • Working set is an approximation of a programs’ locality – if ∆ too small will not encompass entire locality. – if ∆ too large will encompass several localities. – if ∆ = ∞ ⇒ will encompass entire program. – ∆’s size is an application specific tradeoff • System should keep resident at least a process’s working set – Process executes while it remains in its working set • Working set tends to change gradually • Get only a few page/segment faults during a time window • Possible to make intelligent guesses about which pieces will be needed in the future – May be able to pre-fetch page/segments 27
  • 29. Thrashing • CPU utilisation tends to increase with the degree of multiprogramming – number of processes in system • Higher degrees of multiprogramming – less memory available per process • Some process’s working sets may no longer fit in RAM – Implies an increasing page fault rate • Eventually many processes have insufficient memory – Can’t always find a runnable process – Decreasing CPU utilisation – System become I/O limited • This is called thrashing. 29
  • 30. Thrashing • Why does thrashing occur? Σ working set sizes > total physical memory size 30
  • 31. Recovery From Thrashing • In the presence of increasing page fault frequency and decreasing CPU utilisation – Suspend a few processes to reduce degree of multiprogramming – Resident pages of suspended processes will migrate to backing store – More physical memory becomes available • Less faults, faster progress for runnable processes – Resume suspended processes later when memory pressure eases 31
  • 32. Quiz • how does an IPT work? – what is good about it? – what is bad about it? • what is the TLB? – what happens on a context switch? • what is a working set? • what is thrashing?
  • 33. What is the difference? Array[a][b] /* reset array */ int array[10000][10000]; b int i,j; a for (i = 0; i < 10000; i++) { for (j = 0; j < 10000;j ++) { array[i][j] = 0; /* array[j][i] = 0 */ } } 33
  • 35. VM Management Policies • Operation and performance of VM system is dependent on a number of policies: – Page table format (my be dictated by hardware) • Multi-level • Hashed – Page size (may be dictated by hardware) – Fetch Policy – Replacement policy – Resident set size • Minimum allocation • Local versus global allocation – Page cleaning policy – Degree of multiprogramming 35
  • 36. Page Size Increasing page size Increases internal fragmentation reduces adaptability to working set size Decreases number of pages Reduces size of page tables Increases TLB coverage Reduces number of TLB misses Increases page fault latency Need to read more from disk before restarting process Increases swapping I/O throughput Small I/O are dominated by seek/rotation delays Optimal page size is a (work-load dependent) trade-off. 36
  • 37. Working Set Size Generally Increases with Increasing Page Size: True/False? 37
  • 38. Atlas 512 words (48-bit) Honeywell/Multics 1K words (36-bit) IBM 370/XA 4K bytes DEC VAX 512 bytes IBM AS/400 512 bytes Intel Pentium 4K and 4M bytes ARM 4K and 64K bytes MIPS R4000 4k – 16M bytes in powers of 4 DEC Alpha 8K - 4M bytes in powers of 8 UltraSPARC 8K – 4M bytes in powers of 8 PowerPC 4K bytes + “blocks” Intel IA-64 4K – 256M bytes in powers of 4 38
  • 39. Page Size • Multiple page sizes provide flexibility to optimise the use of the TLB • Example: – Large page sizes can be use for code – Small page size for thread stacks • Most operating systems support only a single page size – Dealing with multiple page sizes is hard! 39
  • 40. Fetch Policy • Determines when a page should be brought into memory – Demand paging only loads pages in response to page faults • Many page faults when a process first starts – Pre-paging brings in more pages than needed at the moment • Improves I/O performance by reading in larger chunks • Pre-fetch when disk is idle • Wastes I/O bandwidth if pre-fetched pages aren’t used • Especially bad if we eject pages in working set in order to pre-fetch unused pages. • Hard to get right in practice. 40
  • 41. 15 Replacement 14 13 Policy Page fault on 12 page 14, physical 11 memory full, which 10 14 page should we 9 evict? 8 10 7 7 Disk 6 6 5 5 4 4 Virtual 3 3 2 2 Memory 1 1 Physical Address 41 0 0 Space
  • 42. Replacement Policy • Which page is chosen to be tossed out? – Page removed should be the page least likely to be references in the near future – Most policies attempt to predict the future behaviour on the basis of past behaviour • Constraint: locked frames – Kernel code – Main kernel data structure – I/O buffers – Performance-critical user-pages (e.g. for DBMS) • Frame table has a lock bit 42
  • 43. Optimal Replacement policy • Toss the page that won’t be used for the longest time • Impossible to implement • Only good as a theoretic reference point: – The closer a practical algorithm gets to optimal, the better • Example: – Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 – Four frames – How many page faults? 43
  • 44. FIFO Replacement Policy • First-in, first-out: Toss the oldest page – Easy to implement – Age of a page is isn’t necessarily related to usage • Example: – Reference string: 1,2,3,4,1,2,5,1,2,3,4,5 – Four frames – How many page faults? – Three frames? 44
  • 45. FIFO Replacement Policy • First-in, first-out: Toss the oldest page – Easy to implement – Age of a page is isn’t necessarily related to usage • Example: – Reference string: 1,2,3,4,1,2,5,1,2,3,4,5 – Four frames – How many page faults? – Three frames? 45
  • 46. Belady’s Anomaly • For FIFO, more frames does not imply fewer page faults 46
  • 47. Least Recently Used (LRU) • Toss the least recently used page – Assumes that page that has not been referenced for a long time is unlikely to be referenced in the near future – Will work if locality holds – Implementation requires a time stamp to be kept for each page, updated on every reference – Impossible to implement efficiently – Most practical algorithms are approximations of LRU 47
  • 48. Clock Page Replacement • Clock policy, also called second chance – Employs a usage or reference bit in the frame table. – Set to one when page is used – While scanning for a victim, reset all the reference bits – Toss the first page with a zero reference bit. 48
  • 49.
  • 50. Assume a page fault on page 727
  • 51.
  • 52. Issue • How do we know when a page is referenced? • Use the valid bit in the PTE: – When a page is mapped (valid bit set), set the reference bit – When resetting the reference bit, invalidate the PTE entry – On page fault • Turn on valid bit in PTE • Turn on reference bit • We thus simulate a reference bit in software 52
  • 54. Performance • It terms of selecting the most appropriate replacement, they rank as follows 1. Optimal 2. LRU 3. Clock 4. FIFO – Note there are other algorithms (Working Set, WSclock, Ageing, NFU, NRU) – We don’t expect you to know them in this course 54
  • 55. Resident Set Size • How many frames should each process have? – Fixed Allocation • Gives a process a fixed number of pages within which to execute. • When a page fault occurs, one of the pages of that process must be replaced. • Achieving high utilisation is an issue. – Some processes have high fault rate while others don’t use their allocation. – Variable Allocation • Number of pages allocated to a process varies over the lifetime of the process 55
  • 56. Variable Allocation, Global Scope – Easiest to implement – Adopted by many operating systems – Operating system keeps global list of free frames – Free frame is added to resident set of process when a page fault occurs – If no free frame, replaces one from any process • Pro/Cons – Automatic balancing across system – Does not provide guarantees for important activities 56
  • 57. Variable Allocation, Local Scope • Allocate number of page frames to a new process based on – Application type – Program request – Other criteria (priority) • When a page fault occurs, select a page from among the resident set of the process that suffers the page fault • Re-evaluate allocation from time to time! 57
  • 58. Page-Fault Frequency Scheme • Establish “acceptable” page-fault rate. – If actual rate too low, process loses frame. – If actual rate too high, process gains frame. 58
  • 59. Cleaning Policy • Observation – Clean pages are much cheaper to replace than dirty pages • Demand cleaning – A page is written out only when it has been selected for replacement – High latency between the decision to replace and availability of free frame. • Precleaning – Pages are written out in batches (in the background, the pagedaemon) – Increases likelihood of replacing clean frames – Overlap I/O with current activity 59
  • 60. Load Control (Degree of multiprogramming) • Determines the number of runnable processes • Controlled by: – Admission control • Only let new process’s threads enter ready state if enough memory is available – Suspension: • Move all threads of some process into a special suspended state • Swap complete process image of suspended process to disk • Trade-off – Too many processes will lead to thrashing – Too few will lead to idle CPU 60
  • 61. Load Control Considerations • Can use page fault frequency. 61