Changes in / [976bc68:f621e43f]


Ignore:
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/mubeen_zulfiqar_MMath/Makefile

    r976bc68 rf621e43f  
    1 ### Makefile from Andrew Beach's Masters Thesis
     1DOC = uw-ethesis.pdf
     2BASE = ${DOC:%.pdf=%} # remove suffix
     3# directory for latex clutter files
     4BUILD = build
     5TEXSRC = $(wildcard *.tex)
     6FIGSRC = $(wildcard *.fig)
     7BIBSRC = $(wildcard *.bib)
     8TEXLIB = .:../../LaTeXmacros:${BUILD}: # common latex macros
     9BIBLIB = .:../../bibliography # common citation repository
    210
    3 DOC=uw-ethesis.pdf
    4 BUILD=out
    5 TEXSRC=$(wildcard *.tex)
    6 BIBSRC=$(wildcard *.bib)
    7 STYSRC=$(wildcard *.sty)
    8 CLSSRC=$(wildcard *.cls)
    9 TEXLIB= .:../../LaTeXmacros:${BUILD}:
    10 BIBLIB= .:../../bibliography
    11 
    12 # Since tex programs like to add their own file extensions:
    13 BASE= ${DOC:%.pdf=%}
     11MAKEFLAGS = --no-print-directory # --silent
     12VPATH = ${BUILD}
    1413
    1514### Special Rules:
    1615
    17 .PHONY: all clean deepclean
     16.PHONY: all clean
    1817
    1918### Commands:
    20 LATEX=TEXINPUTS=${TEXLIB} pdflatex -halt-on-error -output-directory=${BUILD}
    21 BIBTEX=BIBINPUTS=${BIBLIB} bibtex
     19LATEX = TEXINPUTS=${TEXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${BUILD}
     20BIBTEX = BIBINPUTS=${BIBLIB} bibtex
    2221#GLOSSARY=INDEXSTYLE=${BUILD} makeglossaries-lite
    2322
    24 ### Rules and Recipies:
     23### Rules and Recipes:
    2524
    2625all: ${DOC}
    2726
    28 ${BUILD}/${DOC}: ${TEXSRC} ${BIBSRC} ${STYSRC} ${CLSSRC} Makefile | ${BUILD}
     27${BUILD}/%.dvi: ${TEXSRC} ${FIGSRC:.fig=.tex} ${BIBSRC} Makefile | ${BUILD}
    2928        ${LATEX} ${BASE}
    3029        ${BIBTEX} ${BUILD}/${BASE}
     
    3332#       ${LATEX} ${BASE}
    3433
    35 ${DOC}: ${BUILD}/${DOC}
    36         cp $< $@
    37 
    3834${BUILD}:
    3935        mkdir $@
    4036
     37%.pdf : ${BUILD}/%.ps | ${BUILD}
     38        ps2pdf $<
     39
     40%.ps : %.dvi | ${BUILD}
     41        dvips $< -o $@
     42
     43%.tex : %.fig | ${BUILD}
     44        fig2dev -L eepic $< > ${BUILD}/$@
     45
     46%.ps : %.fig | ${BUILD}
     47        fig2dev -L ps $< > ${BUILD}/$@
     48
     49%.pstex : %.fig | ${BUILD}
     50        fig2dev -L pstex $< > ${BUILD}/$@
     51        fig2dev -L pstex_t -p ${BUILD}/$@ $< > ${BUILD}/$@_t
     52
    4153clean:
    42         -@rm -rv ${BUILD}
    43 
    44 deepclean: clean
    45         -@rm -v ${DOC}
     54        @rm -frv ${DOC} ${BUILD} *.fig.bak
  • doc/theses/mubeen_zulfiqar_MMath/allocator.tex

    r976bc68 rf621e43f  
     1
    12\chapter{Allocator}
     3
     4\newpage
     5\paragraph{Design 1: Decentralized}
     6Fixed number of heaps: shard the heap into N heaps each with a bump-area allocated from the sbrk area.
     7Kernel threads (KT) are assigned to the N heaps.
     8When KTs $\le$ N, the heaps are uncontented.
     9When KTs $>$ N, the heaps are contented.
     10By adjusting N, this approach reduces storage at the cost of speed due to contention.
     11In all cases, a thread acquires/releases a lock, contented or uncontented.
     12\begin{cquote}
     13\centering
     14\input{AllocDS1}
     15\end{cquote}
     16Problems: need to know when a KT is created and destroyed to know when to create/delete the KT's heap.
     17On KT deletion, its heap freed-storage needs to be distributed somewhere.
     18
     19\paragraph{Design 2: Centralized}
     20
     21One heap, but lower bucket sizes are N-shared across KTs.
     22This design leverages the fact that 95\% of allocation requests are less than 512 bytes and there are only 3--5 different request sizes.
     23When KTs $\le$ N, the important bucket sizes are uncontented.
     24When KTs $>$ N, the free buckets are contented.
     25Therefore, threads are only contending for a small number of buckets, which are distributed among them to reduce contention.
     26\begin{cquote}
     27\centering
     28\input{AllocDS2}
     29\end{cquote}
     30Problems: need to know when a kernel thread (KT) is created and destroyed to know when to assign a shared bucket-number.
     31When no thread is assigned a bucket number, its free storage is unavailable.
     32It is possible to use sharing and stealing techniques to share/find unused storage, when a free list is unused or empty.
  • doc/theses/mubeen_zulfiqar_MMath/uw-ethesis.tex

    r976bc68 rf621e43f  
    8181\usepackage{amsmath,amssymb,amstext} % Lots of math symbols and environments
    8282\usepackage{xcolor}
    83 \usepackage[pdftex]{graphicx}
     83\usepackage{epic,eepic}
     84\usepackage{graphicx}
    8485\usepackage{comment} % Removes large sections of the document.
    8586\usepackage{todonotes} % Adds todos (Must be included after comment.)
     
    8990% Use the "hyperref" package
    9091% N.B. HYPERREF MUST BE THE LAST PACKAGE LOADED; ADD ADDITIONAL PKGS ABOVE
    91 \usepackage[pdftex,pagebackref=true]{hyperref} % with basic options
     92\usepackage[pagebackref=true]{hyperref} % with basic options
    9293%\usepackage[pdftex,pagebackref=true]{hyperref}
    9394% N.B. pagebackref=true provides links back from the References to the body text. This can cause trouble for printing.
  • tests/include/includes.cfa

    r976bc68 rf621e43f  
    4040#include <errno.h>
    4141#include <error.h>
    42 //#include <eti.h>                                                                              // may not be installed
     42//#include <eti.h>                                                                              // may not be installed, comes with ncurses
    4343#include <execinfo.h>
    4444#include <expat.h>
     
    4949#include <fmtmsg.h>
    5050#include <fnmatch.h>
    51 #include <form.h>
     51//#include <form.h>                                                                             // may not be installed, comes with ncurses
    5252#include <fstab.h>
    5353#include <fts.h>
     
    7777#include <mcheck.h>
    7878#include <memory.h>
    79 #include <menu.h>
     79//#include <menu.h>                                                                             // may not be installed, comes with ncurses
    8080#include <mntent.h>
    8181#include <monetary.h>
    8282#include <mqueue.h>
    83 #include <ncurses_dll.h>
     83//#include <ncurses_dll.h>                                                                      // may not be installed, comes with ncurses
    8484#include <netdb.h>
    8585#include <nl_types.h>
    8686#include <nss.h>
    8787#include <obstack.h>
    88 #include <panel.h>
     88//#include <panel.h>                                                                            // may not be installed, comes with ncurses
    8989#include <paths.h>
    9090#include <poll.h>
     
    117117#include <syslog.h>
    118118#include <tar.h>
    119 #include <term.h>
    120 #include <termcap.h>
     119//#include <term.h>                                                                             // may not be installed, comes with ncurses
     120//#include <termcap.h>                                                                          // may not be installed, comes with ncurses
    121121#include <termio.h>
    122122#include <termios.h>
     
    130130#include <ucontext.h>
    131131#include <ulimit.h>
    132 #include <unctrl.h>
     132//#include <unctrl.h>                                                                           // may not be installed, comes with ncurses
    133133#include <unistd.h>
    134134#include <utime.h>
Note: See TracChangeset for help on using the changeset viewer.