This document discusses software-managed translation lookaside buffers (TLBs) and page tables. It begins by describing a virtual linear array approach to page tables that allows indexing directly into the second-level page table without referring to the root page table. It then provides code for a TLB refill handler using this approach. The document discusses trends that increase TLB miss rates and evaluates tradeoffs of software-managed TLBs. It also briefly covers Itanium, P4, and x86 page table structures and segmentation.
This ppt show concept of Data Link Access, BSD Packet Filter, DLPI, Linux SOCK_PACKET, libpcap–Packet capture Library, libnet: Packet Creation and Injection Library
This ppt show concept of Data Link Access, BSD Packet Filter, DLPI, Linux SOCK_PACKET, libpcap–Packet capture Library, libnet: Packet Creation and Injection Library
loader and linker are both system software which capable of loads the object code, assembled by an assembler, (loader) and link a different kind of block of a huge program. both software works at the bottom of the operation (i.e. closer to the hardware). in fact, both have machine dependent and independent features.
Jennifer Rexford
Professor
Princeton University
Plenaries Session
ONS2015: http://bit.ly/ons2015sd
ONS Inspire! Webinars: http://bit.ly/oiw-sd
Watch the talk (video) on ONS Content Archives: http://bit.ly/ons-archives-sd
FARIS: Fast and Memory-efficient URL Filter by Domain Specific MachineYuuki Takano
http://ytakano.github.io/
http://ieeexplore.ieee.org/document/7740332/
Uniform resource locator (URL) filtering is a fundamental technology for intrusion detection, HTTP proxies, content distribution networks, content-centric networks, and many other application areas. Some applications adopt URL filtering to protect user privacy from malicious or insecure websites. Some web browser extensions, such as AdBlock Plus, provide a URL-filtering mechanism for sites that intend to steal sensitive information.
Unfortunately, these extensions are implemented inefficiently, resulting in a slow application that consumes much memory. Although it provides a domain-specific language (DSL) to represent URLs, it internally uses regular expressions and does not take advantage of the benefits of the DSL. In addition, the number of filter rules become large, which makes matters worse.
In this paper, we propose the fast uniform resource identifier- specific filter, which is a domain-specific pseudo-machine for the DSL, to dramatically improve the performance of some browser extensions. Compared with a conventional implementation that internally adopts regular expressions, our proof-of-concept implementation is fast and small memory footprint.
This PPT discusses the concept of Dynamic Linker as in Linux and its porting to Solaris ARM platform. It starts from the very basics of linking process
(8) cpp stack automatic_memory_and_static_memoryNico Ludwig
Check out these exercises: http://de.slideshare.net/nicolayludwig/8-cpp-stack-automaticmemoryandstaticmemory-38510742
- Introducing CPU Registers
- Function Stack Frames and the Decrementing Stack
- Function Call Stacks, the Stack Pointer and the Base Pointer
- C/C++ Calling Conventions
- Stack Overflow, Underflow and Channelling incl. Examples
- How variable Argument Lists work with the Stack
- Static versus automatic Storage Classes
- The static Storage Class and the Data Segment
LINCX is an OpenFlow switch written in Erlang and running on LING (Erlang on Xen). It shows some remarkable performance. The presentation discusses various speed-related optimizations.
This presentation covers very basics of assembly language with some computer organization concept. I took this session as part of on going series on assembly at NULL Hyderabad meets. PART II will cover instruction sets and more in detail.
loader and linker are both system software which capable of loads the object code, assembled by an assembler, (loader) and link a different kind of block of a huge program. both software works at the bottom of the operation (i.e. closer to the hardware). in fact, both have machine dependent and independent features.
Jennifer Rexford
Professor
Princeton University
Plenaries Session
ONS2015: http://bit.ly/ons2015sd
ONS Inspire! Webinars: http://bit.ly/oiw-sd
Watch the talk (video) on ONS Content Archives: http://bit.ly/ons-archives-sd
FARIS: Fast and Memory-efficient URL Filter by Domain Specific MachineYuuki Takano
http://ytakano.github.io/
http://ieeexplore.ieee.org/document/7740332/
Uniform resource locator (URL) filtering is a fundamental technology for intrusion detection, HTTP proxies, content distribution networks, content-centric networks, and many other application areas. Some applications adopt URL filtering to protect user privacy from malicious or insecure websites. Some web browser extensions, such as AdBlock Plus, provide a URL-filtering mechanism for sites that intend to steal sensitive information.
Unfortunately, these extensions are implemented inefficiently, resulting in a slow application that consumes much memory. Although it provides a domain-specific language (DSL) to represent URLs, it internally uses regular expressions and does not take advantage of the benefits of the DSL. In addition, the number of filter rules become large, which makes matters worse.
In this paper, we propose the fast uniform resource identifier- specific filter, which is a domain-specific pseudo-machine for the DSL, to dramatically improve the performance of some browser extensions. Compared with a conventional implementation that internally adopts regular expressions, our proof-of-concept implementation is fast and small memory footprint.
This PPT discusses the concept of Dynamic Linker as in Linux and its porting to Solaris ARM platform. It starts from the very basics of linking process
(8) cpp stack automatic_memory_and_static_memoryNico Ludwig
Check out these exercises: http://de.slideshare.net/nicolayludwig/8-cpp-stack-automaticmemoryandstaticmemory-38510742
- Introducing CPU Registers
- Function Stack Frames and the Decrementing Stack
- Function Call Stacks, the Stack Pointer and the Base Pointer
- C/C++ Calling Conventions
- Stack Overflow, Underflow and Channelling incl. Examples
- How variable Argument Lists work with the Stack
- Static versus automatic Storage Classes
- The static Storage Class and the Data Segment
LINCX is an OpenFlow switch written in Erlang and running on LING (Erlang on Xen). It shows some remarkable performance. The presentation discusses various speed-related optimizations.
This presentation covers very basics of assembly language with some computer organization concept. I took this session as part of on going series on assembly at NULL Hyderabad meets. PART II will cover instruction sets and more in detail.
'Waterfall' was written for a friend of mine who had his partner leave him for another.
Check out other tracks and video's on the PAG Facebook page
Paul Antony
Paul Antony Group
Presentation on how GRNET uses Ceph as a storage backend on its Cloud Computing services. Technical specs, lessons learned, future plans.
Presentation held at the 1st GEANT SIG-CISS Meeting in Amsterdam, 2017-09-25.
GRNET - Greek Research and Technology network is the state-owned Greek NREN.
SFO15-406: ARM FDPIC toolset, kernel & libraries for Cortex-M & Cortex-R mmul...Linaro
SFO15-406: ARM FDPIC toolset, kernel & libraries for Cortex-M & Cortex-R mmuless cores
Speakers:
Date: September 24, 2015
★ Session Description ★
ARM FDPIC toolset and kernel patches makes it possible to boot a mmu-less Linux kernel and support userland applications which rely on dynamic loading. No source change are needed to compiler the application (compared to the BFLAT model). The presentation will focus on the toolset structure and characteristics and give some insights on the FDPIC ABI.
★ Resources ★
Video: https://www.youtube.com/watch?v=TNRNQNEcwVI
Presentation: http://www.slideshare.net/linaroorg/sfo15406-arm-fdpic-toolset-kernel-libraries-for-cortexm-cortexr-mmuless-cores
Etherpad: pad.linaro.org/p/sfo15-406
Pathable: https://sfo15.pathable.com/meetings/303078
★ Event Details ★
Linaro Connect San Francisco 2015 - #SFO15
September 21-25, 2015
Hyatt Regency Hotel
http://www.linaro.org
http://connect.linaro.org
Paper_Scalable database logging for multicoresHyo jeong Lee
Presentation for following paper:
Jung, Hyungsoo, Hyuck Han, and Sooyong Kang. "Scalable database logging for multicores." Proceedings of the VLDB Endowment 11.2 (2017): 135-148.
Ramp-Tutorial for MYSQL Cluster - Scaling with Continuous AvailabilityPythian
Rene Cannao's Ramp-Tutorial for MYSQL Cluster - Scaling with Continuous Availability. Rene, a Senior Operational DBA at PalominoDB.com, will guide attendees through a hands-on experience in the installation, configuration management and tuning of MySQL Cluster.
Agenda:
- MySQL Cluster Concepts and Architecture: we will review the principle of a fault-tolerant shared nothing architecture, and how this is implemented into NDB;
- MySQL Cluster processes : attendees will understand the various roles and interactions between Data Nodes, API Nodes and Management Nodes;
- Installation : we will install a minimal HA solution with MySQL Cluster on 3 virtual machines;
- Configuration of a basic system : upon describing the most important configuration parameters, Data/API/Management nodes will be configured and the Cluster launched;
- Loading data: the "world" schema will be imported into NDB using "in memory" and "disk based" storages; the attendees will experience how data changes are visible across API Nodes;
- Understand the NDB Storage Engine : internal implementation details will be explained, like synchronous replication, transaction coordinator, heartbeat, communication, failure detection and handling, checkpoint, etc;
- Query and schema design : attendees will understand the execution plan of queries with NDB, how SQL and Data Nodes communicate, how indexes and partitions are implemented, condition pushdown, join pushdown, query cache;
- Management and Administration: the attendees will test High Availability of NDB when a node become unavailable will learn how to read log file, how to stop/start any component of the Cluster to perform a rolling restart with no downtime, and how to handle a degraded setup;
- Backup and Recovery: attendees will be driven through the procedure of using NDB-native online backup and restore, and how this differs from mysqldump;
- Monitor and improve performance: attendee will learn how to boost performance tweaking variables according to hardware configuration and application workload
Ariel Waizel discusses the Data Plane Development Kit (DPDK), an API for developing fast packet processing code in user space.
* Who needs this library? Why bypass the kernel?
* How does it work?
* How good is it? What are the benchmarks?
* Pros and cons
Ariel worked on kernel development at the IDF, Ben Gurion University, and several companies. He is interested in networking, security, machine learning, and basically everything except UI development. Currently a Solution Architect at ConteXtream (an HPE company), which specializes in SDN solutions for the telecom industry.
A detailed description of how Cloudscaling's Open Cloud System (OCS) has solved the network scalability problems in OpenStack. We'll cover how and why we designed a Layer-3 (L3) scale-out network, how we plugin and extend OpenStack, and talk about why we did it this way.
It is no secret that for high-performance ETL processes, not only queries but also write operations should be parallelized.
But when you make use of it, is it simply "switch on and forget"? What do you have to consider? Can it also have negative effects?
After a short reminder on how it works (including space management methods), some patterns are presented that have been noticed in several ETL review and tuning projects and help to find the answers to the following questions:
What is the interaction between PDML and partitioning of the target table? Can PDML lead to increased fragmentation of the tablespace? Can you control it? How does the Hint PQ_DISTRIBUTE help? Do indexes on the target table have any influence?
FIWARE Lab architecture, an open point to start the installation of a new regionFernando Lopez Aguilar
Description of the different configurations that you can use in order to install a new OpenStack node, including the minimum requirements of capacity of the hosts and the distribution of services per each host.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
This slide is special for master students (MIBS & MIFB) in UUM. Also useful for readers who are interested in the topic of contemporary Islamic banking.
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
4. R3000 TLB Refill
• 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
4
5. Virtual Linear Array page table
• Assume a 2-level PT
• Assume 2nd-level PT nodes are in virtual memory
• Assume all 2nd-level nodes are allocated contiguously ⇒
2nd-level nodes form a contiguous array indexed by page
number
5
6. Virtual Linear Array Operation
• Index into 2nd level page table without referring to root
PT!
• Simply use the full page number as the PT index!
• Leave unused parts of PT unmapped!
• If access is attempted to unmapped part of PT, a
secondary page fault is triggered
– This will load the mapping for the PT from the root PT
– Root PT is kept in physical memory (cannot trigger page faults)
6
7. Virtual Linear Array Page Table
• Use Context register to simply
load PTE by indexing a PTE
array in virtual memory
• Occasionally, will get double
faults
– A TLB miss, while servicing a TLB
miss
– Handled by general exception
handler
PTEbase in virtual
memory in kseg2
• Protected from
user access
7
8. c0 Context Register
• c0_Context = PTEBase + 4 * PageNumber
– PTEs are 4 bytes
– PTEBase is the base local of the page table array (note: aligned
on 4 MB boundary)
– PTEBase is (re)initialised by the OS whenever the page table
array is changed
• E.g on a context switch
– After an exception, c0_Context contains the address of the PTE
required to refill the TLB.
8
9. Code for VLA TLB refill handler
Load PTE mfc0 k1,C0_CONTEXT
address from mfc0 k0,C0_EPC # mfc0 delay slot
context register lw k1,0(k1) # may double fault
# (k0 = orig EPC)
nop
Move the PTE Load address of
mtc0 k1,C0_ENTRYLO
into EntryLo. instruction to
nop return to
tlbwr
jr k0
rfe Load the PTE.
Note: this load can cause a
Write EntryLo TLB refill miss itself, but
into random TLB this miss is handled by the
entry. Return from the general exception vector.
exception The general exception
vector has to understand
this situation and deal with
9
in appropriately
10. Software-loaded TLB
• Pros
– Can simplify hardware design
– provide greater flexibility in page table
structure
• Cons
– typically have slower refill times than
hardware managed TLBs.
10
11. Trends
• Operating systems
– moving functionality into user processes
– making greater use of virtual memory for mapping data
structures held within the kernel.
• RAM is increasing
– TLB capacity is relatively static
• Statement:
– Trends place greater stress upon the TLB by increasing miss
rates and hence, decreasing overall system performance.
– True/False? How to evaluate?
11
12. Design Tradeoffs for Software-Managed TLBs
David Nagle, Richard Uhlig, Tim Stanley, Stuart Sechrest Trevor
Mudge & Richard Brown
12
22. Other performance
improvements?
• In Paper
– Pinned slots
– Increased TLB size
– TLB associativity
• Other options
– Bigger page sizes
– Multiple page sizes
22
23. Itanium Page Table
• Takes a bet each way
• Loading
– software
– two different format hardware walkers
• Page table
– software defined
– linear
– hashed
23
26. P4
• Sophisticated, supports:
– demand paging
– pure segmentation
– segmentation with paging
• Heart of the VM architecture
– Local Descriptor Table (LDT)
– Global Descriptor Table (GDT)
• LDT
– 1 per process
– describes segments local to each process (code, stack,
data, etc.)
• GDT
– shared by all programs
– describes system segments (including OS itself)
27. P4
• To access a segment P4
– loads a selector in 1 of the segment registers
–…
29. P4 determine LDT
or GDT (and
• a P4 selector: privilege level)
1 11
• when selector is in register, corresponding
segment descriptor is
– fetched by MMU
– loaded in internal MMU registers
• Next, segment descriptor is used to handle
memory reference (discussed later)
30. P4
LDT GDT
000 zero these 3 bits
and add the 16b to
base address of
LDT or GDT
31. P4
LDT GDT
000
• finds a a P4 code segment descriptor
33. P4
IF no paging used: we are done
this is the physical address
ELSE
linear address interpreted as virtual address
paging again!
34. P4 with paging
• every process has page directory
– 1024 32bit entries
– each entry points to page table
– page table contains 1024 32bit entries
– each entry points to page frame
mapping
linear
address to
physical
address
with paging
35. P4
• Many OSs:
–BASE=0
–LIMIT=MAX
• no segmentation at all