├── Makefile ├── README.md ├── cache.c ├── efi ├── Makefile ├── README.md ├── cache.c ├── cache.efi ├── gettime.c ├── gettime.efi ├── hello.c └── hello.efi ├── images ├── random.png └── seq.png ├── patterson_cache.c ├── plot └── results ├── EFI_SEQ ├── KNOPPIX_RAND_DIRAC ├── KNOPPIX_SEQ_DIRAC ├── MACOS_RAND_REBOOT ├── MACOS_SEQ_REBOOT ├── NOTES ├── efi_seq_3d.plot ├── knoppix_rand_2d_L1.plot ├── knoppix_rand_2d_L2.plot ├── knoppix_rand_2d_L2_zoom.plot ├── knoppix_rand_2d_mem.plot ├── knoppix_rand_3d.plot ├── knoppix_seq_2d_L1.plot ├── knoppix_seq_2d_L2.plot ├── knoppix_seq_2d_L2_zoom.plot ├── knoppix_seq_2d_all.plot ├── knoppix_seq_2d_mem.plot ├── knoppix_seq_2d_most.plot ├── knoppix_seq_3d.plot ├── macos_rand_2d_L1.plot ├── macos_rand_2d_most.plot ├── macos_rand_2d_small.plot ├── macos_rand_3d.plot ├── macos_seq_2d_large.plot ├── macos_seq_2d_most.plot ├── macos_seq_2d_small.plot ├── macos_seq_3d.plot └── mix_seq_2d_256.plot /Makefile: -------------------------------------------------------------------------------- 1 | cache: cache.c Makefile 2 | $(CC) -o $@ -Wall -O0 -g $< 3 | 4 | cache.s: cache.c Makefile 5 | $(CC) -S $< 6 | 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Cache 2 | 3 | ## Memory-Hierarchy Understanding Tools 4 | 5 | These are a few programs that benchmark different access patterns and 6 | graph the results to understand the cache hierarchy of the computer 7 | they are run on. 8 | 9 | I first saw the technique used for generating these latency numbers in 10 | exercise 5.2 on page 476 of 11 | [Computer Architecture: A 12 | Quantitative Approach](http://www.amazon.com/gp/product/0123704901) 13 | 14 | The basic idea is that you write a program to walk a contiguous region 15 | of memory using different strides and time how long accessing the 16 | memory takes. The idea for this exercise comes from the 17 | [Ph.D. dissertation](http://portal.acm.org/citation.cfm?id=170337) of 18 | Rafael Héctor Saavedra‑Barrera, where he describes the following 19 | approach: 20 | 21 | > Assume that a machine has a cache capable of holding D 4‑byte 22 | > words, a line size of b words, and an associativity 23 | > a. The number of sets in the cache is given by D/ab. We 24 | > also assume that the replacement algorithm is LRU, and that the lowest 25 | > available address bits are used to select the cache set. 26 | > 27 | > Each of our experiments consists of computing many times a simple 28 | > floating-point function on a subset of elements taken from a 29 | > one-dimensional array of N 4-byte elements. This subset is 30 | > given by the following sequence: 31 | > 32 | > 1, s+1, 2s+1, ..., N-s+1 33 | > 34 | > Thus, each experiment is characterized by a particular value of 35 | > N and s. The stride s allows us to change the rate at 36 | > which misses are generated, by controlling the number of consecutive 37 | > accesses to the same cache line, cache set, etc. The magnitude of 38 | > s varies from 1 to N/2 in powers of two. 39 | 40 | He goes on to note 41 | 42 | > Depending on the magnitudes of N and s in a particular 43 | > experiment, with respect to the size of the cache (D), the line 44 | > size (b), and the associativity (a), there are four 45 | > possible regimes of operations; each of these is characterized by the 46 | > rate at which misses occur in the cache. A summary of the 47 | > characteristics of the four regimes is given in table 5.1. 48 | 49 | And table 5.1 helpfully summarizes the regimes. 50 | 51 | | Size of Array | Stride | Frequency of Misses | Time per Iteration | 52 | |---------------|--------------|---------------------|--------------------| 53 | | 1 ≤ N ≤ D | 1 ≤ s ≤ N/2 | no misses | T | 54 | | D < N | 1 ≤ s ≤ b | one miss every b/s elements| T | 55 | | D < N | b ≤ s < N/a | one miss every element | T + M | 56 | | D < N | N/a ≤ s ≤ N/2| no misses | T | 57 | 58 | I thought it would be fun to try it, so I wrote a program to do 59 | that. 60 | 61 | I ran this program on my machine after rebooting in single-user mode 62 | like Hennessy and Patterson suggest so that virtual addresses track 63 | physical addresses a little closer, and with a little help from 64 | gnuplot, I got images like this: 65 | 66 | ![alt text][seq] 67 | 68 | [seq]: https://github.com/ob/cache/raw/master/images/seq.png "Sequential Access" 69 | 70 | ![alt text][random] 71 | 72 | [random]: https://github.com/ob/cache/raw/master/images/random.png "Random Access" 73 | 74 | -------------------------------------------------------------------------------- /cache.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | typedef u_int8_t u8; 9 | typedef u_int32_t u32; 10 | typedef u_int64_t u64; 11 | 12 | #define SAMPLE 10 13 | #define CACHE_MIN (1024 / sizeof(u32*)) /* 1K */ 14 | #define CACHE_MAX ((1024 * 1024 * 1024) / sizeof(u32*)) /* 1 GB! */ 15 | 16 | /* Getopt */ 17 | static struct option longopts[] = { 18 | { "random", no_argument, NULL, 'r' }, 19 | { "sequential", no_argument, NULL, 's' }, 20 | { "buffer", required_argument, NULL, 'b' }, 21 | { NULL, 0, NULL, 0 } 22 | }; 23 | 24 | typedef enum {rand_access, seq_access} access_kind; 25 | 26 | u32* buffer[CACHE_MAX]; 27 | 28 | double 29 | timestamp(void) 30 | { 31 | struct timeval tv; 32 | gettimeofday(&tv, 0); 33 | return (tv.tv_sec + (tv.tv_usec/1000000.0)); 34 | } 35 | 36 | u32 ** 37 | shuffle(u32 **buffer, u32 stride, u32 max) 38 | { 39 | u32 i, j, r, n, tmp; 40 | static int *indices = NULL; 41 | 42 | if (indices == NULL) { 43 | indices = calloc(CACHE_MAX, sizeof(int)); 44 | if (indices == NULL) { 45 | printf("not enough memory\n"); 46 | exit(1); 47 | } 48 | } else { 49 | bzero(indices, CACHE_MAX); 50 | } 51 | for (i = 1, j = 0; i <= max; i+=stride, j++) indices[j] = i; 52 | /* shuffle it */ 53 | n = j; 54 | while (n > 1) { 55 | n--; 56 | r = random() % n; 57 | tmp = indices[r]; 58 | indices[r] = indices[n]; 59 | indices[n] = tmp; 60 | } 61 | /* build linked list */ 62 | for (i = 0; i < j-1; i++) { 63 | buffer[indices[i]] = (u32 *)&buffer[indices[i+1]]; 64 | } 65 | buffer[indices[i]] = NULL; 66 | return (&buffer[indices[0]]); 67 | } 68 | 69 | u32 ** 70 | linear(u32 **buffer, u32 stride, u32 max) 71 | { 72 | u32 i, last; 73 | 74 | last = 1; 75 | for (i = stride + 1; i <= max; i += stride) { 76 | buffer[last] = (u32 *)&buffer[i]; 77 | last = i; 78 | } 79 | buffer[max] = 0; 80 | return (&buffer[1]); 81 | } 82 | 83 | void 84 | random_access(u32 cache_max) 85 | { 86 | u32 register i, stride; 87 | u32 steps, csize, limit; 88 | double sec0, sec; 89 | u32 register **start, **p; 90 | 91 | for (csize=CACHE_MIN; csize <= cache_max; csize*=2) { 92 | for (stride=1; stride <= csize/2; stride=stride*2) { 93 | sec = 0.0; 94 | limit = csize - stride + 1; 95 | steps = 0; 96 | start = shuffle(buffer, stride, limit); 97 | do { 98 | sec0 = timestamp(); 99 | for (i=SAMPLE*stride; i > 0; i--) 100 | for (p = start; p; p = (u32 **)*p) ; 101 | steps++; 102 | sec += timestamp() - sec0; 103 | } while (sec < 1.0); 104 | 105 | printf("%lu\t%lu\t%.1lf\n", 106 | stride * sizeof(u32*), 107 | csize * sizeof(u32*), 108 | sec*1e9/(steps*SAMPLE*stride*((limit-1)/stride+1))); 109 | fflush(stdout); 110 | } 111 | printf("\n\n"); 112 | fflush(stdout); 113 | } 114 | } 115 | 116 | void 117 | sequential_access(u32 cache_max) 118 | { 119 | u32 i, stride; 120 | u32 steps, csize, limit; 121 | double sec0, sec; 122 | u32 **start; 123 | register u32 **p; 124 | 125 | for (csize=CACHE_MIN; csize <= cache_max; csize*=2) { 126 | for (stride=1; stride <= csize/2; stride=stride*2) { 127 | sec = 0.0; 128 | limit = csize - stride + 1; 129 | steps = 0; 130 | start = linear(buffer, stride, limit); 131 | do { 132 | sec0 = timestamp(); 133 | for (i=SAMPLE*stride; i > 0; i--) 134 | for (p = start; p; p = (u32 **)*p) ; 135 | steps++; 136 | sec += timestamp() - sec0; 137 | } while (sec < 1.0); 138 | 139 | printf("%lu\t%lu\t%.1lf\n", 140 | stride * sizeof(u32*), 141 | csize * sizeof(u32*), 142 | sec*1e9/(steps*SAMPLE*stride*((limit-1)/stride+1))); 143 | fflush(stdout); 144 | } 145 | printf("\n\n"); 146 | fflush(stdout); 147 | } 148 | } 149 | 150 | int 151 | main(int ac, char **av) 152 | { 153 | int c; 154 | u32 cache_size; 155 | access_kind kind; 156 | 157 | cache_size = CACHE_MAX; 158 | while ((c = getopt_long(ac, av, "rsc:", longopts, NULL)) != -1) { 159 | switch (c) { 160 | case 'r': 161 | kind = rand_access; 162 | break; 163 | case 's': 164 | kind = seq_access; 165 | break; 166 | case 'b': 167 | cache_size = strtol(optarg, 0, 10) / sizeof(u32*); 168 | break; 169 | default: 170 | usage: fprintf(stderr, "usage: %s (--random|--sequential) " 171 | "[--buffer ]\n", av[0]); 172 | return (1); 173 | break; 174 | } 175 | } 176 | if (cache_size < CACHE_MIN) { 177 | fprintf(stderr, "%s: buffer needs to be at least %ld\n", 178 | av[0], CACHE_MIN * sizeof(u32*)); 179 | return (1); 180 | } 181 | if (cache_size > CACHE_MAX) { 182 | fprintf(stderr, "%s: buffer needs to be less than %ld\n", 183 | av[0], CACHE_MAX * sizeof(u32*)); 184 | return (1); 185 | } 186 | switch (kind) { 187 | case rand_access: 188 | printf("# doing random access with a max buffer of %ld\n", 189 | cache_size * sizeof(u32*)); 190 | random_access(cache_size); 191 | break; 192 | case seq_access: 193 | printf("# doing sequential access with a max buffer of %ld\n", 194 | cache_size * sizeof(u32*)); 195 | sequential_access(cache_size); 196 | break; 197 | default: 198 | goto usage; 199 | break; 200 | } 201 | return (0); 202 | } 203 | 204 | /* 205 | * Local Variables: ** 206 | * c-file-style: "cc-mode" ** 207 | * End: ** 208 | */ 209 | -------------------------------------------------------------------------------- /efi/Makefile: -------------------------------------------------------------------------------- 1 | # EFI Build Environment for Mac OS X 2 | # www.osxbook.com 3 | # 4 | # Makefile for EFI applications 5 | # 6 | 7 | # Defaults 8 | # 9 | ARCH = ia32 10 | EFIROOT = /usr/local 11 | HDRROOT = $(EFIROOT)/include/efi 12 | INCLUDES = -I. -I$(HDRROOT) -I$(HDRROOT)/$(ARCH) -I$(HDRROOT)/protocol 13 | 14 | CRTOBJS = $(EFIROOT)/lib/crt0-efi-$(ARCH).o 15 | CFLAGS = -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \ 16 | -fno-merge-constants 17 | CPPFLAGS = -DCONFIG_$(ARCH) 18 | FORMAT = efi-app-$(ARCH) 19 | INSTALL = install 20 | LDFLAGS = -nostdlib 21 | LDSCRIPT = $(EFIROOT)/lib/elf_$(ARCH)_efi.lds 22 | LDFLAGS += -T $(LDSCRIPT) -shared -Bsymbolic -L$(EFIROOT)/lib $(CRTOBJS) 23 | LOADLIBS = -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name) 24 | 25 | # Toolchain prefix 26 | # 27 | prefix = i686-osxbook-linux-gnu- 28 | CC = $(prefix)gcc 29 | AS = $(prefix)as 30 | LD = $(prefix)ld 31 | AR = $(prefix)ar 32 | RANLIB = $(prefix)ranlib 33 | OBJCOPY = $(prefix)objcopy 34 | 35 | # Rules 36 | # 37 | %.efi: %.so 38 | $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \ 39 | -j .rela -j .reloc --target=$(FORMAT) $*.so $@ 40 | 41 | %.so: %.o 42 | $(LD) $(LDFLAGS) $^ -o $@ $(LOADLIBS) 43 | $(RM) $< 44 | 45 | %.o: %.c Makefile 46 | $(CC) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ 47 | 48 | # Targets 49 | # 50 | TARGETS = cache.efi hello.efi 51 | 52 | all: $(TARGETS) 53 | 54 | clean: 55 | rm -f $(TARGETS) 56 | -------------------------------------------------------------------------------- /efi/README.md: -------------------------------------------------------------------------------- 1 | Running cache-efi.c with no OS: 2 | 3 | ## SETTING UP THE BUILD ENVIRONMENT ## 4 | 5 | MAC OS X: 6 | 7 | Follow the instructions on [EFI 8 | Programming](http://www.osxbook.com/book/bonus/chapter4/efiprogramming/) 9 | found in the Mac OS X Book website. 10 | 11 | 12 | ## RUNNING THE CODE ## 13 | 14 | Download refit from 15 | 16 | http://refit.sourceforge.net/ 17 | 18 | - Get a USB keychain or similar 19 | - Launch Disk Utility 20 | * make 2 partitions, one HFS+ (small, say 50MB) and the other 21 | FAT32. This is because EFI can't write to HFS+ file systems, so we 22 | need a FAT32 FS to get the results. 23 | * select "Restore" from rEFIt-0.13.dmg to USB stick's HFS+ FS 24 | * copy cache.efi to /Volumes/EFI/efi/tools 25 | * eject the USB stick 26 | - Reboot, hold Opt key 27 | - Boot from rEFIt 28 | - Select "Start EFI Shell" 29 | - Let startup.nsh run 30 | - Find the FAT32 partition, in my case, it was in fs3. 31 |
32 |     Shell> fs3:
33 |     fs3:\> cache 268435456 2> EFI_OUT
34 |     ...
35 | 
36 | Note that it's *very important* to redirect stderr to a 37 | file. Otherwise, the efi shell might hang (something about not being 38 | able to multiplex) 39 | 40 | - Reboot again, now you have the output in the FAT32 partition 41 | - Since the resulting file is UTF-16 encoded, you need to convert it 42 | to UTF-8 so that gnuplot can read it. 43 |
44 |     $ iconv -f UTF-16 -t UTF-8 EFI_OUT > EFI_OUT_UTF8
45 | 
46 | - Now you can plot it. 47 | 48 | 49 | ### HOW TO USE EFI Shell ### 50 | 51 | [http://www.icare.hp.com.cn/TechCenter_StaticArticle/11503/13416.pdf]() 52 | 53 | -------------------------------------------------------------------------------- /efi/cache.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | typedef UINT8 u8; 6 | typedef UINT32 u32; 7 | typedef UINT64 u64; 8 | 9 | #define SAMPLE 10 10 | #define CACHE_MIN 1024 11 | #define CACHE_MAX 256 * 1024 * 1024 /* 1 GB! */ 12 | 13 | #define MAX_ARGS 32 /* arbitrary */ 14 | 15 | #define ONE_SEC 1000000000 /* 1G ns */ 16 | 17 | u32* buffer; 18 | 19 | INTN populate_argv(CHAR16 *buf, UINTN len, CHAR16 **argv); 20 | 21 | void sequential_access(u32 cache_max); 22 | 23 | /* Most of the idioms here were cribbed from the osx book */ 24 | EFI_STATUS 25 | efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *systab) 26 | { 27 | CHAR16 *av[MAX_ARGS]; 28 | INTN ac = 0; 29 | CHAR16 *rawargs = NULL; 30 | EFI_LOADED_IMAGE *info; 31 | EFI_STATUS status; 32 | UINTN cache_size; 33 | 34 | InitializeLib(image, systab); 35 | 36 | 37 | cache_size = CACHE_MAX; 38 | 39 | // Prepare to gather command-line arguments. First, retrieve image info. 40 | status = BS->HandleProtocol(image, &LoadedImageProtocol, (VOID *)&info); 41 | if (EFI_ERROR(status)) { 42 | Print(L"%r = BS->HandleProtocol(..., &LoadedImageProtocol, ...)\n", 43 | status); 44 | return status; 45 | } 46 | 47 | // Allocate memory for processing command-line arguments. 48 | status = BS->AllocatePool(EfiLoaderData, 49 | info->LoadOptionsSize + sizeof(CHAR16), 50 | (VOID *)&rawargs); 51 | if (status != EFI_SUCCESS) { 52 | Print(L"%r = BS->AllocatePool(args)\n", status); 53 | return status; 54 | } 55 | 56 | // Populate C-style ac and av. 57 | CopyMem(rawargs, info->LoadOptions, info->LoadOptionsSize); 58 | ac = populate_argv(rawargs, info->LoadOptionsSize, av); 59 | 60 | 61 | if (ac != 2) { 62 | cache_size = CACHE_MAX; 63 | } else { 64 | cache_size = Atoi((CHAR16 *)av[1]); 65 | } 66 | 67 | if (cache_size < CACHE_MIN) { 68 | Print(L"%s: buffer needs to be at least %d\n", 69 | av[0], CACHE_MIN * sizeof(u32)); 70 | status = EFI_INVALID_PARAMETER; 71 | goto out; 72 | } 73 | if (cache_size > CACHE_MAX) { 74 | Print(L"%s: buffer needs to be less than %d\n", 75 | av[0], CACHE_MAX * sizeof(u32)); 76 | status = EFI_INVALID_PARAMETER; 77 | goto out; 78 | } 79 | Print(L"# doing sequential access with a max buffer of %d\n", 80 | cache_size * sizeof(u32)); 81 | 82 | IPrint(ST->StdErr, L"# doing sequential access with a max buffer of %d\n", 83 | cache_size * sizeof(u32)); 84 | 85 | status = BS->AllocatePool(EfiLoaderData, 86 | cache_size * sizeof(u32), (void **)&buffer); 87 | if (status != EFI_SUCCESS) { 88 | Print(L"%r = BS->AllocatePool(buffer)\n", status); 89 | return status; 90 | } 91 | sequential_access(cache_size); 92 | status = EFI_SUCCESS; 93 | out: 94 | return status; 95 | } 96 | 97 | 98 | u64 99 | nanoseconds(void) 100 | { 101 | EFI_TIME_CAPABILITIES cap; 102 | EFI_TIME time; 103 | EFI_STATUS status; 104 | 105 | status = RT->GetTime(&time, &cap); 106 | if (status != EFI_SUCCESS) { 107 | Print(L"%r = GetTime()\n", status); 108 | return 0; 109 | } 110 | /* This is kind of a hack since we only expect to spend at most a 111 | * couple of sec. DO NOT RUN THIS CODE AT ANY O'CLOCK TIME. */ 112 | return (time.Minute * 60 * 1000000000 + 113 | time.Second * 1000000000 + time.Nanosecond); 114 | /* time.Nanosecons is normally useless (0), but I include it anyway */ 115 | } 116 | 117 | void 118 | sequential_access(UINTN cache_max) 119 | { 120 | u32 register i, j, stride; 121 | u32 steps, csize, limit; 122 | u32 nsec0, nsec; 123 | 124 | for (csize=CACHE_MIN; csize <= cache_max; csize*=2) { 125 | Print(L"csize = %d\n", csize); 126 | for (stride=1; stride <= csize/2; stride=stride*2) { 127 | nsec = 0; 128 | limit = csize - stride + 1; 129 | steps = 0; 130 | do { 131 | nsec0 = nanoseconds(); 132 | for (i=SAMPLE*stride; i > 0; i--) { 133 | for (j=1; j <= limit; j+=stride) { 134 | buffer[j] = buffer[j] + 1; 135 | } 136 | } 137 | steps++; 138 | nsec += nanoseconds() - nsec0; 139 | } while (nsec < ONE_SEC); /* gather 2 sec */ 140 | 141 | IPrint(ST->StdErr, L"%d\t%d\t%d\n", 142 | stride * sizeof(u32), 143 | csize * sizeof(u32), 144 | /* no floatng point */ 145 | nsec / (steps*SAMPLE*stride*((limit-1)/stride+1))); 146 | Print(L"%d\t%d\t%d\n", 147 | stride * sizeof(u32), 148 | csize * sizeof(u32), 149 | /* no floatng point */ 150 | nsec / (steps*SAMPLE*stride*((limit-1)/stride+1))); 151 | } 152 | IPrint(ST->StdErr, L"\n\n"); 153 | Print(L"\n\n"); 154 | } 155 | } 156 | 157 | 158 | // the following function is stolen/adapted from elilo's argify() 159 | // 160 | // Copyright (C) 2001-2003 Hewlett-Packard Co. 161 | // Contributed by Stephane Eranian 162 | // Copyright (C) 2001 Silicon Graphics, Inc. 163 | // Contributed by Brent Casavant 164 | 165 | INTN 166 | populate_argv(CHAR16 *buf, UINTN len, CHAR16 **argv) 167 | { 168 | UINTN i = 0; 169 | UINTN j = 0; 170 | CHAR16 *p = buf; 171 | #define CHAR_SPACE L' ' 172 | 173 | if (buf == 0) { 174 | argv[0] = NULL; 175 | return 0; 176 | } 177 | 178 | // len is the number of bytes (and not the number of CHAR16's) 179 | len = len >> 1; 180 | 181 | // Here we use CHAR_NULL as the terminator rather than the length because 182 | // the EFI shell returns rather bogus values for it. Apparently, we are 183 | // guaranteed to find '\0' in the buffer where the real input arguments 184 | // stop, so we use it instead. 185 | // 186 | for(;;) { 187 | while (buf[i] == CHAR_SPACE && buf[i] != CHAR_NULL && i < len) 188 | i++; 189 | 190 | if (buf[i] == CHAR_NULL || i == len) 191 | goto end; 192 | 193 | p = buf+i; 194 | i++; 195 | 196 | while (buf[i] != CHAR_SPACE && buf[i] != CHAR_NULL && i < len) 197 | i++; 198 | 199 | argv[j++] = p; 200 | 201 | if (buf[i] == CHAR_NULL) 202 | goto end; 203 | 204 | buf[i] = CHAR_NULL; 205 | 206 | if (i == len) 207 | goto end; 208 | 209 | i++; 210 | 211 | if (j == (MAX_ARGS - 1)) { 212 | Print(L"%s: too many arguments (%d), truncating", argv[0], j); 213 | goto end; 214 | } 215 | } 216 | 217 | end: 218 | argv[j] = NULL; 219 | return j; 220 | } 221 | 222 | /* 223 | * Local Variables: ** 224 | * c-file-style: "cc-mode" ** 225 | * End: ** 226 | */ 227 | -------------------------------------------------------------------------------- /efi/cache.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ob/cache/a2fb5d7a70dc95e3d84ab409e38ae2b620a46a89/efi/cache.efi -------------------------------------------------------------------------------- /efi/gettime.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | EFI_STATUS 5 | efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *systab) 6 | { 7 | EFI_TIME_CAPABILITIES cap; 8 | EFI_TIME time; 9 | EFI_STATUS status; 10 | 11 | InitializeLib(image_handle, systab); 12 | Print(L"Hello World!\n"); 13 | status = RT->GetTime(&time, &cap); 14 | if (status != EFI_SUCCESS) { 15 | Print(L"%r = GetTime()\n", status); 16 | } else { 17 | Print(L"%d/%d/%d - %d:%d:%d.%d\n", 18 | time.Month, time.Day, time.Year, 19 | time.Hour, time.Minute, time.Second, time.Nanosecond); 20 | } 21 | return EFI_SUCCESS; 22 | } 23 | -------------------------------------------------------------------------------- /efi/gettime.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ob/cache/a2fb5d7a70dc95e3d84ab409e38ae2b620a46a89/efi/gettime.efi -------------------------------------------------------------------------------- /efi/hello.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | EFI_STATUS 5 | efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *systab) 6 | { 7 | InitializeLib(image_handle, systab); 8 | Print(L"Hello World!\n"); 9 | IPrint(ST->StdErr, L"Hello StdErr\n"); 10 | return EFI_SUCCESS; 11 | } 12 | -------------------------------------------------------------------------------- /efi/hello.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ob/cache/a2fb5d7a70dc95e3d84ab409e38ae2b620a46a89/efi/hello.efi -------------------------------------------------------------------------------- /images/random.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ob/cache/a2fb5d7a70dc95e3d84ab409e38ae2b620a46a89/images/random.png -------------------------------------------------------------------------------- /images/seq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ob/cache/a2fb5d7a70dc95e3d84ab409e38ae2b620a46a89/images/seq.png -------------------------------------------------------------------------------- /patterson_cache.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #define CACHE_MIN (1024) 7 | #define CACHE_MAX (4*1024*1024) 8 | #define SAMPLE 10 9 | 10 | #ifndef CLK_TCK 11 | #define CLK_TCK 60 12 | #endif 13 | 14 | int x[CACHE_MAX]; 15 | 16 | double 17 | get_seconds() 18 | { 19 | struct tms rusage; 20 | times(&rusage); 21 | return (double)(rusage.tms_utime)/CLK_TCK; 22 | } 23 | 24 | int 25 | main() 26 | { 27 | int register i, j, stride, limit, temp; 28 | int steps, tsteps, csize; 29 | double sec0, sec; 30 | 31 | for(csize=CACHE_MIN; csize <= CACHE_MAX; csize*=2) { 32 | for (stride=1; stride <= csize/2; stride*=2) { 33 | sec = 0; 34 | limit = csize-stride+1; 35 | steps = 0; 36 | do { 37 | sec0 = 0; 38 | for (i=SAMPLE*stride; i != 0; i--) { 39 | for(j=1;j <= limit; j+=stride) { 40 | x[j] = x[j] + 1; 41 | } 42 | } 43 | steps++; 44 | sec += get_seconds() - sec0; 45 | } while (sec < 1.0); 46 | 47 | tsteps = 0; 48 | do { 49 | sec0 = get_seconds(); 50 | for (i=SAMPLE*stride; i != 0; i--) { 51 | for(j=1; j <= limit; j+=stride) { 52 | temp = temp + 1; 53 | } 54 | } 55 | tsteps++; 56 | sec -= get_seconds() - sec0; 57 | } while (tsteps < steps); 58 | printf("%7d\t%7d\t%14.0f\n", 59 | stride*sizeof(int), 60 | csize*sizeof(int), 61 | sec*1e9/(steps*SAMPLE*stride*((limit-1)/stride+1))); 62 | } 63 | printf("\n"); 64 | } 65 | } 66 | 67 | /* 68 | * Local Variables: ** 69 | * c-file-style: "cc-mode" ** 70 | * End: ** 71 | */ 72 | -------------------------------------------------------------------------------- /plot: -------------------------------------------------------------------------------- 1 | #set term x11 2 | set ticslevel 0 3 | set xrange [] reverse 4 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, "128K" 131072, \ 5 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 6 | "512M" 536870912) 7 | set ytics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, "128K" 131072, \ 8 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 9 | "512M" 536870912) 10 | set grid 11 | unset key 12 | set title "Cache Latency" 13 | set xlabel "Stride (bytes)" 14 | set ylabel "Buffer Size (bytes)" 15 | set zlabel "Time (ns)" 16 | #set view 57,13 17 | set view 70,30 18 | #set view 46, 345 19 | set pm3d at s hidden3d 100 20 | set style line 100 lt 5 lw 0.5 21 | unset surf 22 | set log xy # add z to use log scale for time 23 | #set log z 24 | splot "TEST1" with lines 25 | 26 | # Local Variables: ** 27 | # mode: gnuplot ** 28 | # End: ** 29 | -------------------------------------------------------------------------------- /results/EFI_SEQ: -------------------------------------------------------------------------------- 1 | # doing sequential access with a max buffer of 1073741824 2 | 4 4096 11 3 | 8 4096 5 4 | 16 4096 17 5 | 32 4096 17 6 | 64 4096 17 7 | 128 4096 17 8 | 256 4096 8 9 | 512 4096 5 10 | 1024 4096 8 11 | 2048 4096 20 12 | 13 | 14 | 4 8192 10 15 | 8 8192 10 16 | 16 8192 5 17 | 32 8192 10 18 | 64 8192 10 19 | 128 8192 10 20 | 256 8192 10 21 | 512 8192 5 22 | 1024 8192 5 23 | 2048 8192 10 24 | 4096 8192 13 25 | 26 | 27 | 4 16384 7 28 | 8 16384 7 29 | 16 16384 7 30 | 32 16384 3 31 | 64 16384 7 32 | 128 16384 7 33 | 256 16384 3 34 | 512 16384 7 35 | 1024 16384 3 36 | 2048 16384 3 37 | 4096 16384 8 38 | 8192 16384 9 39 | 40 | 41 | 4 32768 5 42 | 8 32768 5 43 | 16 32768 5 44 | 32 32768 5 45 | 64 32768 5 46 | 128 32768 5 47 | 256 32768 5 48 | 512 32768 1 49 | 1024 32768 5 50 | 2048 32768 5 51 | 4096 32768 6 52 | 8192 32768 6 53 | 16384 32768 8 54 | 55 | 56 | 4 65536 4 57 | 8 65536 4 58 | 16 65536 4 59 | 32 65536 4 60 | 64 65536 5 61 | 128 65536 5 62 | 256 65536 5 63 | 512 65536 5 64 | 1024 65536 5 65 | 2048 65536 7 66 | 4096 65536 15 67 | 8192 65536 6 68 | 16384 65536 6 69 | 32768 65536 7 70 | 71 | 72 | 4 131072 4 73 | 8 131072 4 74 | 16 131072 4 75 | 32 131072 4 76 | 64 131072 5 77 | 128 131072 4 78 | 256 131072 5 79 | 512 131072 5 80 | 1024 131072 5 81 | 2048 131072 7 82 | 4096 131072 17 83 | 8192 131072 15 84 | 16384 131072 5 85 | 32768 131072 5 86 | 65536 131072 6 87 | 88 | 89 | 4 262144 4 90 | 8 262144 4 91 | 16 262144 4 92 | 32 262144 4 93 | 64 262144 4 94 | 128 262144 4 95 | 256 262144 4 96 | 512 262144 4 97 | 1024 262144 5 98 | 2048 262144 8 99 | 4096 262144 16 100 | 8192 262144 17 101 | 16384 262144 15 102 | 32768 262144 5 103 | 65536 262144 5 104 | 131072 262144 6 105 | 106 | 107 | 4 524288 4 108 | 8 524288 4 109 | 16 524288 4 110 | 32 524288 4 111 | 64 524288 4 112 | 128 524288 4 113 | 256 524288 4 114 | 512 524288 4 115 | 1024 524288 5 116 | 2048 524288 7 117 | 4096 524288 17 118 | 8192 524288 16 119 | 16384 524288 16 120 | 32768 524288 13 121 | 65536 524288 5 122 | 131072 524288 5 123 | 262144 524288 7 124 | 125 | 126 | 4 1048576 4 127 | 8 1048576 4 128 | 16 1048576 4 129 | 32 1048576 4 130 | 64 1048576 4 131 | 128 1048576 4 132 | 256 1048576 4 133 | 512 1048576 4 134 | 1024 1048576 5 135 | 2048 1048576 8 136 | 4096 1048576 14 137 | 8192 1048576 14 138 | 16384 1048576 14 139 | 32768 1048576 14 140 | 65536 1048576 14 141 | 131072 1048576 7 142 | 262144 1048576 5 143 | 524288 1048576 7 144 | 145 | 146 | 4 2097152 4 147 | 8 2097152 4 148 | 16 2097152 4 149 | 32 2097152 4 150 | 64 2097152 5 151 | 128 2097152 5 152 | 256 2097152 5 153 | 512 2097152 5 154 | 1024 2097152 5 155 | 2048 2097152 7 156 | 4096 2097152 14 157 | 8192 2097152 14 158 | 16384 2097152 14 159 | 32768 2097152 14 160 | 65536 2097152 14 161 | 131072 2097152 14 162 | 262144 2097152 7 163 | 524288 2097152 6 164 | 1048576 2097152 7 165 | 166 | 167 | 4 4194304 4 168 | 8 4194304 5 169 | 16 4194304 9 170 | 32 4194304 19 171 | 64 4194304 31 172 | 128 4194304 47 173 | 256 4194304 31 174 | 512 4194304 47 175 | 1024 4194304 47 176 | 2048 4194304 47 177 | 4096 4194304 95 178 | 8192 4194304 47 179 | 16384 4194304 95 180 | 32768 4194304 47 181 | 65536 4194304 95 182 | 131072 4194304 95 183 | 262144 4194304 95 184 | 524288 4194304 47 185 | 1048576 4194304 5 186 | 2097152 4194304 7 187 | 188 | 189 | 4 8388608 4 190 | 8 8388608 5 191 | 16 8388608 9 192 | 32 8388608 23 193 | 64 8388608 23 194 | 128 8388608 47 195 | 256 8388608 95 196 | 512 8388608 47 197 | 1024 8388608 47 198 | 2048 8388608 47 199 | 4096 8388608 95 200 | 8192 8388608 47 201 | 16384 8388608 47 202 | 32768 8388608 95 203 | 65536 8388608 95 204 | 131072 8388608 95 205 | 262144 8388608 143 206 | 524288 8388608 143 207 | 1048576 8388608 7 208 | 2097152 8388608 6 209 | 4194304 8388608 6 210 | 211 | 212 | 4 16777216 4 213 | 8 16777216 5 214 | 16 16777216 11 215 | 32 16777216 11 216 | 64 16777216 47 217 | 128 16777216 47 218 | 256 16777216 71 219 | 512 16777216 47 220 | 1024 16777216 47 221 | 2048 16777216 71 222 | 4096 16777216 71 223 | 8192 16777216 71 224 | 16384 16777216 71 225 | 32768 16777216 47 226 | 65536 16777216 95 227 | 131072 16777216 95 228 | 262144 16777216 40 229 | 524288 16777216 40 230 | 1048576 16777216 40 231 | 2097152 16777216 11 232 | 4194304 16777216 5 233 | 8388608 16777216 7 234 | 235 | 236 | 4 33554432 3 237 | 8 33554432 5 238 | 16 33554432 11 239 | 32 33554432 11 240 | 64 33554432 47 241 | 128 33554432 47 242 | 256 33554432 4 243 | 512 33554432 4 244 | 1024 33554432 8 245 | 2048 33554432 8 246 | 4096 33554432 14 247 | 8192 33554432 20 248 | 16384 33554432 14 249 | 32768 33554432 20 250 | 65536 33554432 32 251 | 131072 33554432 44 252 | 262144 33554432 21 253 | 524288 33554432 40 254 | 1048576 33554432 1 255 | 2097152 33554432 13 256 | 4194304 33554432 11 257 | 8388608 33554432 5 258 | 16777216 33554432 11 259 | 260 | 261 | 4 67108864 2 262 | 8 67108864 5 263 | 16 67108864 11 264 | 32 67108864 23 265 | 64 67108864 16 266 | 128 67108864 2 267 | 256 67108864 2 268 | 512 67108864 5 269 | 1024 67108864 8 270 | 2048 67108864 8 271 | 4096 67108864 14 272 | 8192 67108864 14 273 | 16384 67108864 20 274 | 32768 67108864 14 275 | 65536 67108864 6 276 | 131072 67108864 24 277 | 262144 67108864 1 278 | 524288 67108864 11 279 | 1048576 67108864 2 280 | 2097152 67108864 19 281 | 4194304 67108864 13 282 | 8388608 67108864 5 283 | 16777216 67108864 5 284 | 33554432 67108864 11 285 | 286 | 287 | 4 134217728 2 288 | 8 134217728 5 289 | 16 134217728 11 290 | 32 134217728 8 291 | 64 134217728 6 292 | 128 134217728 2 293 | 256 134217728 2 294 | 512 134217728 5 295 | 1024 134217728 8 296 | 2048 134217728 8 297 | 4096 134217728 4 298 | 8192 134217728 3 299 | 16384 134217728 3 300 | 32768 134217728 4 301 | 65536 134217728 9 302 | 131072 134217728 5 303 | 262144 134217728 11 304 | 524288 134217728 4 305 | 1048576 134217728 4 306 | 2097152 134217728 9 307 | 4194304 134217728 9 308 | 8388608 134217728 5 309 | 16777216 134217728 8 310 | 33554432 134217728 5 311 | 67108864 134217728 5 312 | 313 | 314 | 4 268435456 5 315 | 8 268435456 5 316 | 16 268435456 4 317 | 32 268435456 1 318 | 64 268435456 4 319 | 128 268435456 2 320 | 256 268435456 2 321 | 512 268435456 3 322 | 1024 268435456 2 323 | 2048 268435456 3 324 | 4096 268435456 1 325 | 8192 268435456 3 326 | 16384 268435456 4 327 | 32768 268435456 3 328 | 65536 268435456 3 329 | 131072 268435456 0 330 | 262144 268435456 1 331 | 524288 268435456 4 332 | 1048576 268435456 1 333 | 2097152 268435456 2 334 | 4194304 268435456 3 335 | 8388608 268435456 1 336 | 16777216 268435456 5 337 | 33554432 268435456 1 338 | 67108864 268435456 5 339 | 134217728 268435456 1 340 | 341 | 342 | 4 536870912 1 343 | 8 536870912 2 344 | 16 536870912 1 345 | 32 536870912 2 346 | 64 536870912 0 347 | 128 536870912 2 348 | 256 536870912 3 349 | 512 536870912 1 350 | 1024 536870912 1 351 | 2048 536870912 1 352 | 4096 536870912 3 353 | 8192 536870912 0 354 | 16384 536870912 0 355 | 32768 536870912 2 356 | 65536 536870912 2 357 | 131072 536870912 2 358 | 262144 536870912 1 359 | 524288 536870912 1 360 | 1048576 536870912 0 361 | 2097152 536870912 1 362 | 4194304 536870912 0 363 | 8388608 536870912 1 364 | 16777216 536870912 0 365 | 33554432 536870912 2 366 | 67108864 536870912 1 367 | 134217728 536870912 2 368 | 268435456 536870912 1 369 | 370 | 371 | 4 1073741824 1 372 | 8 1073741824 1 373 | 16 1073741824 1 374 | 32 1073741824 0 375 | 64 1073741824 0 376 | 128 1073741824 0 377 | 256 1073741824 1 378 | 512 1073741824 1 379 | 1024 1073741824 1 380 | 2048 1073741824 1 381 | 4096 1073741824 0 382 | 8192 1073741824 0 383 | 16384 1073741824 1 384 | 32768 1073741824 2 385 | 65536 1073741824 0 386 | 131072 1073741824 3 387 | 262144 1073741824 2 388 | 524288 1073741824 1 389 | 1048576 1073741824 0 390 | 2097152 1073741824 3 391 | 4194304 1073741824 3 392 | 8388608 1073741824 1 393 | 16777216 1073741824 1 394 | 33554432 1073741824 0 395 | 67108864 1073741824 0 396 | 134217728 1073741824 1 397 | 268435456 1073741824 1 398 | 536870912 1073741824 1 399 | -------------------------------------------------------------------------------- /results/KNOPPIX_RAND_DIRAC: -------------------------------------------------------------------------------- 1 | # doing random access with a max buffer of 1073741824 2 | 4 4096 3.6 3 | 8 4096 3.6 4 | 16 4096 3.8 5 | 32 4096 3.7 6 | 64 4096 3.8 7 | 128 4096 3.7 8 | 256 4096 3.5 9 | 512 4096 3.7 10 | 1024 4096 4.1 11 | 2048 4096 5.4 12 | 13 | 14 | 4 8192 3.6 15 | 8 8192 3.6 16 | 16 8192 3.6 17 | 32 8192 3.6 18 | 64 8192 3.7 19 | 128 8192 3.8 20 | 256 8192 3.7 21 | 512 8192 3.5 22 | 1024 8192 3.7 23 | 2048 8192 4.1 24 | 4096 8192 5.4 25 | 26 | 27 | 4 16384 3.6 28 | 8 16384 3.6 29 | 16 16384 3.6 30 | 32 16384 3.6 31 | 64 16384 3.6 32 | 128 16384 3.7 33 | 256 16384 3.7 34 | 512 16384 3.7 35 | 1024 16384 3.5 36 | 2048 16384 3.7 37 | 4096 16384 4.1 38 | 8192 16384 5.4 39 | 40 | 41 | 4 32768 3.6 42 | 8 32768 3.6 43 | 16 32768 3.6 44 | 32 32768 3.8 45 | 64 32768 3.7 46 | 128 32768 3.7 47 | 256 32768 3.9 48 | 512 32768 4.2 49 | 1024 32768 3.7 50 | 2048 32768 3.5 51 | 4096 32768 3.7 52 | 8192 32768 4.1 53 | 16384 32768 5.4 54 | 55 | 56 | 4 65536 5.9 57 | 8 65536 6.0 58 | 16 65536 6.2 59 | 32 65536 6.6 60 | 64 65536 7.9 61 | 128 65536 7.9 62 | 256 65536 8.0 63 | 512 65536 7.9 64 | 1024 65536 8.1 65 | 2048 65536 7.6 66 | 4096 65536 6.9 67 | 8192 65536 3.8 68 | 16384 65536 4.1 69 | 32768 65536 5.4 70 | 71 | 72 | 4 131072 7.2 73 | 8 131072 7.3 74 | 16 131072 7.4 75 | 32 131072 7.7 76 | 64 131072 8.3 77 | 128 131072 8.3 78 | 256 131072 8.3 79 | 512 131072 8.2 80 | 1024 131072 8.4 81 | 2048 131072 8.5 82 | 4096 131072 8.2 83 | 8192 131072 7.3 84 | 16384 131072 3.9 85 | 32768 131072 4.1 86 | 65536 131072 5.4 87 | 88 | 89 | 4 262144 7.9 90 | 8 262144 7.9 91 | 16 262144 8.0 92 | 32 262144 8.2 93 | 64 262144 8.4 94 | 128 262144 8.4 95 | 256 262144 8.4 96 | 512 262144 8.4 97 | 1024 262144 8.5 98 | 2048 262144 8.6 99 | 4096 262144 8.7 100 | 8192 262144 8.2 101 | 16384 262144 7.4 102 | 32768 262144 3.9 103 | 65536 262144 4.2 104 | 131072 262144 5.4 105 | 106 | 107 | 4 524288 8.2 108 | 8 524288 8.3 109 | 16 524288 8.3 110 | 32 524288 8.4 111 | 64 524288 8.5 112 | 128 524288 8.5 113 | 256 524288 8.5 114 | 512 524288 8.5 115 | 1024 524288 8.5 116 | 2048 524288 8.6 117 | 4096 524288 8.7 118 | 8192 524288 8.7 119 | 16384 524288 8.2 120 | 32768 524288 7.4 121 | 65536 524288 3.9 122 | 131072 524288 4.2 123 | 262144 524288 5.4 124 | 125 | 126 | 4 1048576 8.5 127 | 8 1048576 8.5 128 | 16 1048576 8.5 129 | 32 1048576 8.5 130 | 64 1048576 8.6 131 | 128 1048576 8.6 132 | 256 1048576 8.6 133 | 512 1048576 8.6 134 | 1024 1048576 8.6 135 | 2048 1048576 8.6 136 | 4096 1048576 8.7 137 | 8192 1048576 8.8 138 | 16384 1048576 8.7 139 | 32768 1048576 8.2 140 | 65536 1048576 7.4 141 | 131072 1048576 3.9 142 | 262144 1048576 4.2 143 | 524288 1048576 5.4 144 | 145 | 146 | 4 2097152 9.9 147 | 8 2097152 9.9 148 | 16 2097152 9.9 149 | 32 2097152 9.9 150 | 64 2097152 10.0 151 | 128 2097152 10.0 152 | 256 2097152 10.1 153 | 512 2097152 10.1 154 | 1024 2097152 10.3 155 | 2048 2097152 10.6 156 | 4096 2097152 11.7 157 | 8192 2097152 11.6 158 | 16384 2097152 11.6 159 | 32768 2097152 11.7 160 | 65536 2097152 10.7 161 | 131072 2097152 8.9 162 | 262144 2097152 4.4 163 | 524288 2097152 4.2 164 | 1048576 2097152 5.4 165 | 166 | 167 | 4 4194304 14.2 168 | 8 4194304 14.5 169 | 16 4194304 14.9 170 | 32 4194304 15.8 171 | 64 4194304 18.3 172 | 128 4194304 19.2 173 | 256 4194304 19.4 174 | 512 4194304 19.3 175 | 1024 4194304 19.4 176 | 2048 4194304 19.3 177 | 4096 4194304 19.5 178 | 8192 4194304 11.7 179 | 16384 4194304 11.6 180 | 32768 4194304 11.6 181 | 65536 4194304 11.7 182 | 131072 4194304 10.6 183 | 262144 4194304 9.0 184 | 524288 4194304 4.3 185 | 1048576 4194304 4.2 186 | 2097152 4194304 5.4 187 | 188 | 189 | 4 8388608 56.9 190 | 8 8388608 57.6 191 | 16 8388608 59.6 192 | 32 8388608 63.2 193 | 64 8388608 70.2 194 | 128 8388608 89.1 195 | 256 8388608 89.1 196 | 512 8388608 89.1 197 | 1024 8388608 89.3 198 | 2048 8388608 89.2 199 | 4096 8388608 89.8 200 | 8192 8388608 26.9 201 | 16384 8388608 11.6 202 | 32768 8388608 11.6 203 | 65536 8388608 11.6 204 | 131072 8388608 11.6 205 | 262144 8388608 10.7 206 | 524288 8388608 8.9 207 | 1048576 8388608 4.3 208 | 2097152 8388608 4.1 209 | 4194304 8388608 5.4 210 | 211 | 212 | 4 16777216 79.3 213 | 8 16777216 79.7 214 | 16 16777216 81.0 215 | 32 16777216 83.3 216 | 64 16777216 87.9 217 | 128 16777216 99.8 218 | 256 16777216 99.8 219 | 512 16777216 100.2 220 | 1024 16777216 100.3 221 | 2048 16777216 100.7 222 | 4096 16777216 101.3 223 | 8192 16777216 89.8 224 | 16384 16777216 31.3 225 | 32768 16777216 11.6 226 | 65536 16777216 11.7 227 | 131072 16777216 11.6 228 | 262144 16777216 11.7 229 | 524288 16777216 10.6 230 | 1048576 16777216 9.0 231 | 2097152 16777216 4.3 232 | 4194304 16777216 4.2 233 | 8388608 16777216 5.7 234 | 235 | 236 | 4 33554432 90.1 237 | 8 33554432 90.7 238 | 16 33554432 91.3 239 | 32 33554432 92.3 240 | 64 33554432 94.8 241 | 128 33554432 101.0 242 | 256 33554432 100.6 243 | 512 33554432 100.8 244 | 1024 33554432 100.9 245 | 2048 33554432 101.4 246 | 4096 33554432 102.1 247 | 8192 33554432 101.2 248 | 16384 33554432 89.2 249 | 32768 33554432 31.4 250 | 65536 33554432 11.7 251 | 131072 33554432 11.6 252 | 262144 33554432 11.6 253 | 524288 33554432 11.6 254 | 1048576 33554432 10.7 255 | 2097152 33554432 9.0 256 | 4194304 33554432 4.4 257 | 8388608 33554432 4.7 258 | 16777216 33554432 6.2 259 | 260 | 261 | 4 67108864 96.1 262 | 8 67108864 95.7 263 | 16 67108864 96.0 264 | 32 67108864 96.8 265 | 64 67108864 97.8 266 | 128 67108864 101.0 267 | 256 67108864 100.6 268 | 512 67108864 101.2 269 | 1024 67108864 101.9 270 | 2048 67108864 102.0 271 | 4096 67108864 102.4 272 | 8192 67108864 102.3 273 | 16384 67108864 101.8 274 | 32768 67108864 91.1 275 | 65536 67108864 38.9 276 | 131072 67108864 16.1 277 | 262144 67108864 15.6 278 | 524288 67108864 15.6 279 | 1048576 67108864 15.5 280 | 2097152 67108864 14.0 281 | 4194304 67108864 11.9 282 | 8388608 67108864 4.4 283 | 16777216 67108864 4.2 284 | 33554432 67108864 5.4 285 | 286 | 287 | 4 134217728 99.1 288 | 8 134217728 98.4 289 | 16 134217728 99.1 290 | 32 134217728 99.7 291 | 64 134217728 100.7 292 | 128 134217728 102.2 293 | 256 134217728 103.2 294 | 512 134217728 104.4 295 | 1024 134217728 104.8 296 | 2048 134217728 105.0 297 | 4096 134217728 105.5 298 | 8192 134217728 105.6 299 | 16384 134217728 105.9 300 | 32768 134217728 105.6 301 | 65536 134217728 95.1 302 | 131072 134217728 36.5 303 | 262144 134217728 16.4 304 | 524288 134217728 16.5 305 | 1048576 134217728 16.6 306 | 2097152 134217728 16.6 307 | 4194304 134217728 15.2 308 | 8388608 134217728 12.7 309 | 16777216 134217728 4.4 310 | 33554432 134217728 4.2 311 | 67108864 134217728 5.4 312 | 313 | 314 | 4 268435456 108.8 315 | 8 268435456 107.9 316 | 16 268435456 108.4 317 | 32 268435456 108.8 318 | 64 268435456 109.3 319 | 128 268435456 110.2 320 | 256 268435456 111.9 321 | 512 268435456 112.7 322 | 1024 268435456 112.5 323 | 2048 268435456 111.7 324 | 4096 268435456 111.8 325 | 8192 268435456 112.2 326 | 16384 268435456 112.6 327 | 32768 268435456 113.1 328 | 65536 268435456 112.9 329 | 131072 268435456 102.4 330 | 262144 268435456 39.9 331 | 524288 268435456 19.0 332 | 1048576 268435456 19.2 333 | 2097152 268435456 19.4 334 | 4194304 268435456 20.1 335 | 8388608 268435456 18.1 336 | 16777216 268435456 14.8 337 | 33554432 268435456 5.9 338 | 67108864 268435456 4.4 339 | 134217728 268435456 5.7 340 | 341 | 342 | 4 536870912 119.7 343 | 8 536870912 118.4 344 | 16 536870912 118.7 345 | 32 536870912 118.8 346 | 64 536870912 119.5 347 | 128 536870912 120.7 348 | 256 536870912 121.2 349 | 512 536870912 121.1 350 | 1024 536870912 118.8 351 | 2048 536870912 118.1 352 | 4096 536870912 117.4 353 | 8192 536870912 117.7 354 | 16384 536870912 117.9 355 | 32768 536870912 119.0 356 | 65536 536870912 119.9 357 | 131072 536870912 120.0 358 | 262144 536870912 104.8 359 | 524288 536870912 47.8 360 | 1048576 536870912 23.5 361 | 2097152 536870912 23.7 362 | 4194304 536870912 23.8 363 | 8388608 536870912 23.5 364 | 16777216 536870912 21.4 365 | 33554432 536870912 17.6 366 | 67108864 536870912 11.5 367 | 134217728 536870912 5.0 368 | 268435456 536870912 6.6 369 | 370 | 371 | 4 1073741824 137.3 372 | 8 1073741824 137.7 373 | 16 1073741824 137.4 374 | 32 1073741824 138.3 375 | 64 1073741824 138.7 376 | 128 1073741824 139.6 377 | 256 1073741824 136.4 378 | 512 1073741824 131.8 379 | 1024 1073741824 127.6 380 | 2048 1073741824 124.5 381 | 4096 1073741824 122.7 382 | 8192 1073741824 123.1 383 | 16384 1073741824 123.2 384 | 32768 1073741824 124.4 385 | 65536 1073741824 125.3 386 | 131072 1073741824 125.0 387 | 262144 1073741824 121.4 388 | 524288 1073741824 108.5 389 | 1048576 1073741824 49.5 390 | 2097152 1073741824 25.8 391 | 4194304 1073741824 25.1 392 | 8388608 1073741824 24.6 393 | 16777216 1073741824 24.2 394 | 33554432 1073741824 22.3 395 | 67108864 1073741824 20.3 396 | 134217728 1073741824 6.9 397 | 268435456 1073741824 5.4 398 | 536870912 1073741824 6.9 399 | 400 | 401 | -------------------------------------------------------------------------------- /results/KNOPPIX_SEQ_DIRAC: -------------------------------------------------------------------------------- 1 | # doing sequential access with a max buffer of 1073741824 2 | 4 4096 3.5 3 | 8 4096 3.5 4 | 16 4096 3.8 5 | 32 4096 3.7 6 | 64 4096 5.3 7 | 128 4096 4.0 8 | 256 4096 4.0 9 | 512 4096 4.1 10 | 1024 4096 4.5 11 | 2048 4096 4.9 12 | 13 | 14 | 4 8192 3.3 15 | 8 8192 3.5 16 | 16 8192 3.8 17 | 32 8192 3.6 18 | 64 8192 5.2 19 | 128 8192 3.9 20 | 256 8192 4.0 21 | 512 8192 4.3 22 | 1024 8192 5.3 23 | 2048 8192 4.9 24 | 4096 8192 5.4 25 | 26 | 27 | 4 16384 3.5 28 | 8 16384 3.7 29 | 16 16384 4.0 30 | 32 16384 4.0 31 | 64 16384 5.5 32 | 128 16384 4.1 33 | 256 16384 4.2 34 | 512 16384 4.7 35 | 1024 16384 4.7 36 | 2048 16384 5.0 37 | 4096 16384 5.8 38 | 8192 16384 5.8 39 | 40 | 41 | 4 32768 3.8 42 | 8 32768 4.0 43 | 16 32768 4.3 44 | 32 32768 4.3 45 | 64 32768 5.7 46 | 128 32768 4.4 47 | 256 32768 4.4 48 | 512 32768 4.8 49 | 1024 32768 5.9 50 | 2048 32768 5.4 51 | 4096 32768 6.0 52 | 8192 32768 6.1 53 | 16384 32768 6.0 54 | 55 | 56 | 4 65536 4.0 57 | 8 65536 4.2 58 | 16 65536 4.7 59 | 32 65536 5.1 60 | 64 65536 6.9 61 | 128 65536 5.6 62 | 256 65536 5.7 63 | 512 65536 6.2 64 | 1024 65536 6.2 65 | 2048 65536 6.7 66 | 4096 65536 10.5 67 | 8192 65536 6.5 68 | 16384 65536 6.6 69 | 32768 65536 6.3 70 | 71 | 72 | 4 131072 4.1 73 | 8 131072 4.4 74 | 16 131072 4.8 75 | 32 131072 5.3 76 | 64 131072 7.2 77 | 128 131072 5.7 78 | 256 131072 5.7 79 | 512 131072 6.2 80 | 1024 131072 6.0 81 | 2048 131072 6.8 82 | 4096 131072 9.6 83 | 8192 131072 10.6 84 | 16384 131072 6.6 85 | 32768 131072 6.6 86 | 65536 131072 6.3 87 | 88 | 89 | 4 262144 4.1 90 | 8 262144 4.4 91 | 16 262144 4.9 92 | 32 262144 5.3 93 | 64 262144 7.1 94 | 128 262144 5.7 95 | 256 262144 5.7 96 | 512 262144 6.2 97 | 1024 262144 6.0 98 | 2048 262144 6.6 99 | 4096 262144 10.4 100 | 8192 262144 9.6 101 | 16384 262144 10.6 102 | 32768 262144 6.4 103 | 65536 262144 6.5 104 | 131072 262144 6.4 105 | 106 | 107 | 4 524288 4.2 108 | 8 524288 4.4 109 | 16 524288 4.8 110 | 32 524288 5.2 111 | 64 524288 6.9 112 | 128 524288 5.6 113 | 256 524288 5.6 114 | 512 524288 6.0 115 | 1024 524288 5.8 116 | 2048 524288 6.4 117 | 4096 524288 10.4 118 | 8192 524288 11.3 119 | 16384 524288 9.4 120 | 32768 524288 10.2 121 | 65536 524288 6.3 122 | 131072 524288 6.4 123 | 262144 524288 6.3 124 | 125 | 126 | 4 1048576 4.1 127 | 8 1048576 4.1 128 | 16 1048576 3.9 129 | 32 1048576 4.2 130 | 64 1048576 6.0 131 | 128 1048576 4.7 132 | 256 1048576 4.8 133 | 512 1048576 5.2 134 | 1024 1048576 5.1 135 | 2048 1048576 5.8 136 | 4096 1048576 9.8 137 | 8192 1048576 9.7 138 | 16384 1048576 9.6 139 | 32768 1048576 9.7 140 | 65536 1048576 10.6 141 | 131072 1048576 6.4 142 | 262144 1048576 6.5 143 | 524288 1048576 6.4 144 | 145 | 146 | 4 2097152 4.1 147 | 8 2097152 4.4 148 | 16 2097152 5.2 149 | 32 2097152 5.2 150 | 64 2097152 7.0 151 | 128 2097152 5.6 152 | 256 2097152 5.7 153 | 512 2097152 5.8 154 | 1024 2097152 6.1 155 | 2048 2097152 6.8 156 | 4096 2097152 10.1 157 | 8192 2097152 10.1 158 | 16384 2097152 10.3 159 | 32768 2097152 10.6 160 | 65536 2097152 10.1 161 | 131072 2097152 9.9 162 | 262144 2097152 10.0 163 | 524288 2097152 6.4 164 | 1048576 2097152 6.4 165 | 166 | 167 | 4 4194304 4.2 168 | 8 4194304 4.5 169 | 16 4194304 5.2 170 | 32 4194304 5.8 171 | 64 4194304 8.7 172 | 128 4194304 8.7 173 | 256 4194304 8.8 174 | 512 4194304 9.2 175 | 1024 4194304 10.2 176 | 2048 4194304 11.9 177 | 4096 4194304 15.2 178 | 8192 4194304 12.2 179 | 16384 4194304 10.9 180 | 32768 4194304 10.3 181 | 65536 4194304 10.4 182 | 131072 4194304 10.4 183 | 262144 4194304 12.9 184 | 524288 4194304 10.1 185 | 1048576 4194304 6.5 186 | 2097152 4194304 6.4 187 | 188 | 189 | 4 8388608 4.3 190 | 8 8388608 4.8 191 | 16 8388608 7.7 192 | 32 8388608 14.4 193 | 64 8388608 28.4 194 | 128 8388608 33.6 195 | 256 8388608 33.6 196 | 512 8388608 34.0 197 | 1024 8388608 34.8 198 | 2048 8388608 38.3 199 | 4096 8388608 53.5 200 | 8192 8388608 18.2 201 | 16384 8388608 12.2 202 | 32768 8388608 10.5 203 | 65536 8388608 10.5 204 | 131072 8388608 11.1 205 | 262144 8388608 12.5 206 | 524288 8388608 12.9 207 | 1048576 8388608 10.2 208 | 2097152 8388608 6.6 209 | 4194304 8388608 6.3 210 | 211 | 212 | 4 16777216 4.3 213 | 8 16777216 5.1 214 | 16 16777216 8.8 215 | 32 16777216 16.7 216 | 64 16777216 32.6 217 | 128 16777216 39.0 218 | 256 16777216 38.6 219 | 512 16777216 37.8 220 | 1024 16777216 39.2 221 | 2048 16777216 41.3 222 | 4096 16777216 56.6 223 | 8192 16777216 48.2 224 | 16384 16777216 48.3 225 | 32768 16777216 50.3 226 | 65536 16777216 53.0 227 | 131072 16777216 57.2 228 | 262144 16777216 68.5 229 | 524288 16777216 50.7 230 | 1048576 16777216 13.7 231 | 2097152 16777216 10.7 232 | 4194304 16777216 6.6 233 | 8388608 16777216 6.5 234 | 235 | 236 | 4 33554432 4.4 237 | 8 33554432 4.7 238 | 16 33554432 9.1 239 | 32 33554432 17.6 240 | 64 33554432 34.4 241 | 128 33554432 41.3 242 | 256 33554432 40.2 243 | 512 33554432 38.7 244 | 1024 33554432 40.0 245 | 2048 33554432 41.2 246 | 4096 33554432 58.4 247 | 8192 33554432 56.6 248 | 16384 33554432 57.4 249 | 32768 33554432 60.6 250 | 65536 33554432 62.5 251 | 131072 33554432 68.0 252 | 262144 33554432 84.9 253 | 524288 33554432 80.4 254 | 1048576 33554432 68.2 255 | 2097152 33554432 14.7 256 | 4194304 33554432 10.9 257 | 8388608 33554432 6.9 258 | 16777216 33554432 6.8 259 | 260 | 261 | 4 67108864 4.6 262 | 8 67108864 5.3 263 | 16 67108864 9.5 264 | 32 67108864 18.0 265 | 64 67108864 34.8 266 | 128 67108864 42.0 267 | 256 67108864 40.9 268 | 512 67108864 39.3 269 | 1024 67108864 40.1 270 | 2048 67108864 41.7 271 | 4096 67108864 60.1 272 | 8192 67108864 57.0 273 | 16384 67108864 56.9 274 | 32768 67108864 56.6 275 | 65536 67108864 53.4 276 | 131072 67108864 59.9 277 | 262144 67108864 89.0 278 | 524288 67108864 86.6 279 | 1048576 67108864 86.7 280 | 2097152 67108864 78.4 281 | 4194304 67108864 18.3 282 | 8388608 67108864 11.2 283 | 16777216 67108864 7.2 284 | 33554432 67108864 7.0 285 | 286 | 287 | 4 134217728 4.9 288 | 8 134217728 5.5 289 | 16 134217728 9.7 290 | 32 134217728 18.2 291 | 64 134217728 35.0 292 | 128 134217728 41.3 293 | 256 134217728 41.2 294 | 512 134217728 38.5 295 | 1024 134217728 43.1 296 | 2048 134217728 43.8 297 | 4096 134217728 61.6 298 | 8192 134217728 59.2 299 | 16384 134217728 58.9 300 | 32768 134217728 57.5 301 | 65536 134217728 54.8 302 | 131072 134217728 61.5 303 | 262144 134217728 90.8 304 | 524288 134217728 90.4 305 | 1048576 134217728 93.0 306 | 2097152 134217728 96.0 307 | 4194304 134217728 101.2 308 | 8388608 134217728 19.0 309 | 16777216 134217728 10.5 310 | 33554432 134217728 6.6 311 | 67108864 134217728 6.5 312 | 313 | 314 | 4 268435456 4.6 315 | 8 268435456 5.7 316 | 16 268435456 9.8 317 | 32 268435456 18.8 318 | 64 268435456 35.9 319 | 128 268435456 43.8 320 | 256 268435456 42.0 321 | 512 268435456 40.4 322 | 1024 268435456 41.0 323 | 2048 268435456 42.8 324 | 4096 268435456 61.6 325 | 8192 268435456 60.9 326 | 16384 268435456 60.9 327 | 32768 268435456 59.3 328 | 65536 268435456 56.6 329 | 131072 268435456 64.2 330 | 262144 268435456 94.1 331 | 524288 268435456 93.3 332 | 1048576 268435456 94.6 333 | 2097152 268435456 97.9 334 | 4194304 268435456 129.1 335 | 8388608 268435456 104.6 336 | 16777216 268435456 21.0 337 | 33554432 268435456 13.8 338 | 67108864 268435456 6.2 339 | 134217728 268435456 6.1 340 | 341 | 342 | 4 536870912 5.1 343 | 8 536870912 6.1 344 | 16 536870912 9.8 345 | 32 536870912 18.6 346 | 64 536870912 35.7 347 | 128 536870912 44.9 348 | 256 536870912 44.0 349 | 512 536870912 42.1 350 | 1024 536870912 42.7 351 | 2048 536870912 43.8 352 | 4096 536870912 63.7 353 | 8192 536870912 63.1 354 | 16384 536870912 61.6 355 | 32768 536870912 61.1 356 | 65536 536870912 59.1 357 | 131072 536870912 66.1 358 | 262144 536870912 93.7 359 | 524288 536870912 93.3 360 | 1048576 536870912 95.5 361 | 2097152 536870912 98.2 362 | 4194304 536870912 114.9 363 | 8388608 536870912 94.4 364 | 16777216 536870912 24.0 365 | 33554432 536870912 21.9 366 | 67108864 536870912 17.1 367 | 134217728 536870912 6.7 368 | 268435456 536870912 6.5 369 | 370 | 371 | 4 1073741824 5.4 372 | 8 1073741824 6.4 373 | 16 1073741824 10.4 374 | 32 1073741824 19.4 375 | 64 1073741824 38.0 376 | 128 1073741824 46.4 377 | 256 1073741824 44.7 378 | 512 1073741824 43.2 379 | 1024 1073741824 43.7 380 | 2048 1073741824 44.9 381 | 4096 1073741824 64.8 382 | 8192 1073741824 63.4 383 | 16384 1073741824 62.9 384 | 32768 1073741824 62.3 385 | 65536 1073741824 60.4 386 | 131072 1073741824 67.6 387 | 262144 1073741824 94.7 388 | 524288 1073741824 94.2 389 | 1048576 1073741824 96.6 390 | 2097152 1073741824 100.0 391 | 4194304 1073741824 123.7 392 | 8388608 1073741824 114.6 393 | 16777216 1073741824 96.1 394 | 33554432 1073741824 66.1 395 | 67108864 1073741824 21.6 396 | 134217728 1073741824 14.9 397 | 268435456 1073741824 6.6 398 | 536870912 1073741824 6.4 399 | 400 | 401 | -------------------------------------------------------------------------------- /results/MACOS_RAND_REBOOT: -------------------------------------------------------------------------------- 1 | # doing random access with a max buffer of 1073741824 2 | 4 4096 4.9 3 | 8 4096 4.9 4 | 16 4096 5.0 5 | 32 4096 5.0 6 | 64 4096 5.1 7 | 128 4096 5.1 8 | 256 4096 4.9 9 | 512 4096 4.7 10 | 1024 4096 5.5 11 | 2048 4096 9.4 12 | 13 | 14 | 4 8192 4.9 15 | 8 8192 4.9 16 | 16 8192 4.9 17 | 32 8192 4.9 18 | 64 8192 5.0 19 | 128 8192 5.1 20 | 256 8192 5.1 21 | 512 8192 4.9 22 | 1024 8192 4.7 23 | 2048 8192 5.6 24 | 4096 8192 9.3 25 | 26 | 27 | 4 16384 4.9 28 | 8 16384 4.8 29 | 16 16384 4.9 30 | 32 16384 4.9 31 | 64 16384 4.9 32 | 128 16384 5.0 33 | 256 16384 5.1 34 | 512 16384 5.0 35 | 1024 16384 4.8 36 | 2048 16384 4.7 37 | 4096 16384 5.6 38 | 8192 16384 9.3 39 | 40 | 41 | 4 32768 4.9 42 | 8 32768 5.0 43 | 16 32768 5.0 44 | 32 32768 5.2 45 | 64 32768 5.1 46 | 128 32768 5.1 47 | 256 32768 5.3 48 | 512 32768 5.1 49 | 1024 32768 5.0 50 | 2048 32768 4.9 51 | 4096 32768 4.7 52 | 8192 32768 5.6 53 | 16384 32768 9.4 54 | 55 | 56 | 4 65536 8.3 57 | 8 65536 8.6 58 | 16 65536 8.9 59 | 32 65536 9.9 60 | 64 65536 12.8 61 | 128 65536 12.5 62 | 256 65536 12.8 63 | 512 65536 12.9 64 | 1024 65536 12.8 65 | 2048 65536 12.2 66 | 4096 65536 10.9 67 | 8192 65536 4.7 68 | 16384 65536 5.6 69 | 32768 65536 9.4 70 | 71 | 72 | 4 131072 10.9 73 | 8 131072 11.1 74 | 16 131072 11.2 75 | 32 131072 12.1 76 | 64 131072 13.2 77 | 128 131072 13.1 78 | 256 131072 13.4 79 | 512 131072 13.4 80 | 1024 131072 13.2 81 | 2048 131072 13.5 82 | 4096 131072 13.0 83 | 8192 131072 11.3 84 | 16384 131072 4.9 85 | 32768 131072 5.7 86 | 65536 131072 9.5 87 | 88 | 89 | 4 262144 12.1 90 | 8 262144 12.4 91 | 16 262144 12.4 92 | 32 262144 12.9 93 | 64 262144 13.3 94 | 128 262144 13.3 95 | 256 262144 13.6 96 | 512 262144 13.2 97 | 1024 262144 13.5 98 | 2048 262144 13.7 99 | 4096 262144 13.5 100 | 8192 262144 13.0 101 | 16384 262144 11.4 102 | 32768 262144 4.9 103 | 65536 262144 5.7 104 | 131072 262144 9.7 105 | 106 | 107 | 4 524288 13.0 108 | 8 524288 13.0 109 | 16 524288 13.1 110 | 32 524288 13.2 111 | 64 524288 13.6 112 | 128 524288 13.4 113 | 256 524288 13.6 114 | 512 524288 13.4 115 | 1024 524288 13.7 116 | 2048 524288 13.5 117 | 4096 524288 13.7 118 | 8192 524288 13.7 119 | 16384 524288 12.9 120 | 32768 524288 11.4 121 | 65536 524288 4.9 122 | 131072 524288 5.7 123 | 262144 524288 9.8 124 | 125 | 126 | 4 1048576 13.2 127 | 8 1048576 13.4 128 | 16 1048576 13.3 129 | 32 1048576 13.5 130 | 64 1048576 13.6 131 | 128 1048576 13.6 132 | 256 1048576 13.7 133 | 512 1048576 13.7 134 | 1024 1048576 13.6 135 | 2048 1048576 13.7 136 | 4096 1048576 13.6 137 | 8192 1048576 13.8 138 | 16384 1048576 13.6 139 | 32768 1048576 13.0 140 | 65536 1048576 11.5 141 | 131072 1048576 4.9 142 | 262144 1048576 5.8 143 | 524288 1048576 9.7 144 | 145 | 146 | 4 2097152 14.3 147 | 8 2097152 14.3 148 | 16 2097152 14.4 149 | 32 2097152 14.4 150 | 64 2097152 14.4 151 | 128 2097152 14.5 152 | 256 2097152 14.5 153 | 512 2097152 14.5 154 | 1024 2097152 14.5 155 | 2048 2097152 14.8 156 | 4096 2097152 15.5 157 | 8192 2097152 15.4 158 | 16384 2097152 15.4 159 | 32768 2097152 15.7 160 | 65536 2097152 15.0 161 | 131072 2097152 13.0 162 | 262144 2097152 6.4 163 | 524288 2097152 5.7 164 | 1048576 2097152 9.7 165 | 166 | 167 | 4 4194304 16.4 168 | 8 4194304 16.4 169 | 16 4194304 16.6 170 | 32 4194304 17.2 171 | 64 4194304 17.3 172 | 128 4194304 17.3 173 | 256 4194304 16.9 174 | 512 4194304 17.0 175 | 1024 4194304 16.5 176 | 2048 4194304 16.4 177 | 4096 4194304 16.5 178 | 8192 4194304 15.4 179 | 16384 4194304 15.4 180 | 32768 4194304 15.5 181 | 65536 4194304 15.9 182 | 131072 4194304 14.7 183 | 262144 4194304 13.3 184 | 524288 4194304 6.5 185 | 1048576 4194304 5.6 186 | 2097152 4194304 9.7 187 | 188 | 189 | 4 8388608 68.2 190 | 8 8388608 68.8 191 | 16 8388608 70.9 192 | 32 8388608 74.8 193 | 64 8388608 81.8 194 | 128 8388608 100.9 195 | 256 8388608 100.4 196 | 512 8388608 99.9 197 | 1024 8388608 99.6 198 | 2048 8388608 99.4 199 | 4096 8388608 99.8 200 | 8192 8388608 32.3 201 | 16384 8388608 15.3 202 | 32768 8388608 15.3 203 | 65536 8388608 15.4 204 | 131072 8388608 15.3 205 | 262144 8388608 14.8 206 | 524288 8388608 13.2 207 | 1048576 8388608 6.5 208 | 2097152 8388608 5.7 209 | 4194304 8388608 9.7 210 | 211 | 212 | 4 16777216 93.5 213 | 8 16777216 94.2 214 | 16 16777216 95.6 215 | 32 16777216 98.3 216 | 64 16777216 102.7 217 | 128 16777216 114.1 218 | 256 16777216 113.3 219 | 512 16777216 112.5 220 | 1024 16777216 112.7 221 | 2048 16777216 112.7 222 | 4096 16777216 112.7 223 | 8192 16777216 100.9 224 | 16384 16777216 33.8 225 | 32768 16777216 15.4 226 | 65536 16777216 15.7 227 | 131072 16777216 15.4 228 | 262144 16777216 15.5 229 | 524288 16777216 14.7 230 | 1048576 16777216 13.3 231 | 2097152 16777216 6.4 232 | 4194304 16777216 5.7 233 | 8388608 16777216 9.7 234 | 235 | 236 | 4 33554432 106.9 237 | 8 33554432 107.5 238 | 16 33554432 108.4 239 | 32 33554432 110.0 240 | 64 33554432 112.9 241 | 128 33554432 118.9 242 | 256 33554432 118.1 243 | 512 33554432 118.5 244 | 1024 33554432 119.2 245 | 2048 33554432 119.7 246 | 4096 33554432 119.4 247 | 8192 33554432 119.1 248 | 16384 33554432 107.9 249 | 32768 33554432 48.7 250 | 65536 33554432 23.2 251 | 131072 33554432 23.1 252 | 262144 33554432 22.9 253 | 524288 33554432 23.1 254 | 1048576 33554432 22.5 255 | 2097152 33554432 20.3 256 | 4194304 33554432 6.7 257 | 8388608 33554432 5.9 258 | 16777216 33554432 10.0 259 | 260 | 261 | 4 67108864 116.7 262 | 8 67108864 116.9 263 | 16 67108864 117.1 264 | 32 67108864 117.7 265 | 64 67108864 119.1 266 | 128 67108864 121.7 267 | 256 67108864 122.2 268 | 512 67108864 123.1 269 | 1024 67108864 123.5 270 | 2048 67108864 123.4 271 | 4096 67108864 123.4 272 | 8192 67108864 123.8 273 | 16384 67108864 123.6 274 | 32768 67108864 112.7 275 | 65536 67108864 47.2 276 | 131072 67108864 23.6 277 | 262144 67108864 23.7 278 | 524288 67108864 23.7 279 | 1048576 67108864 23.8 280 | 2097152 67108864 22.8 281 | 4194304 67108864 20.9 282 | 8388608 67108864 6.9 283 | 16777216 67108864 6.1 284 | 33554432 67108864 10.2 285 | 286 | 287 | 4 134217728 123.7 288 | 8 134217728 123.7 289 | 16 134217728 123.9 290 | 32 134217728 123.9 291 | 64 134217728 124.8 292 | 128 134217728 126.2 293 | 256 134217728 128.3 294 | 512 134217728 128.9 295 | 1024 134217728 128.9 296 | 2048 134217728 128.1 297 | 4096 134217728 127.2 298 | 8192 134217728 127.2 299 | 16384 134217728 127.6 300 | 32768 134217728 127.7 301 | 65536 134217728 116.0 302 | 131072 134217728 50.2 303 | 262144 134217728 25.6 304 | 524288 134217728 25.0 305 | 1048576 134217728 25.4 306 | 2097152 134217728 26.1 307 | 4194304 134217728 23.3 308 | 8388608 134217728 21.3 309 | 16777216 134217728 7.0 310 | 33554432 134217728 6.1 311 | 67108864 134217728 10.4 312 | 313 | 314 | 4 268435456 133.3 315 | 8 268435456 132.7 316 | 16 268435456 133.7 317 | 32 268435456 134.0 318 | 64 268435456 134.4 319 | 128 268435456 135.2 320 | 256 268435456 136.2 321 | 512 268435456 135.1 322 | 1024 268435456 132.6 323 | 2048 268435456 130.9 324 | 4096 268435456 129.6 325 | 8192 268435456 130.2 326 | 16384 268435456 130.7 327 | 32768 268435456 130.7 328 | 65536 268435456 130.2 329 | 131072 268435456 113.2 330 | 262144 268435456 49.6 331 | 524288 268435456 25.9 332 | 1048576 268435456 26.0 333 | 2097152 268435456 26.2 334 | 4194304 268435456 26.4 335 | 8388608 268435456 25.4 336 | 16777216 268435456 23.1 337 | 33554432 268435456 11.5 338 | 67108864 268435456 6.1 339 | 134217728 268435456 10.3 340 | 341 | 342 | 4 536870912 146.5 343 | 8 536870912 148.3 344 | 16 536870912 148.5 345 | 32 536870912 148.9 346 | 64 536870912 149.1 347 | 128 536870912 149.4 348 | 256 536870912 145.5 349 | 512 536870912 140.8 350 | 1024 536870912 136.5 351 | 2048 536870912 133.0 352 | 4096 536870912 131.3 353 | 8192 536870912 131.7 354 | 16384 536870912 131.6 355 | 32768 536870912 132.1 356 | 65536 536870912 132.0 357 | 131072 536870912 128.2 358 | 262144 536870912 114.4 359 | 524288 536870912 53.0 360 | 1048576 536870912 26.0 361 | 2097152 536870912 26.1 362 | 4194304 536870912 25.9 363 | 8388608 536870912 25.9 364 | 16777216 536870912 24.5 365 | 33554432 536870912 22.4 366 | 67108864 536870912 8.4 367 | 134217728 536870912 5.9 368 | 268435456 536870912 10.1 369 | 370 | 371 | 4 1073741824 167.0 372 | 8 1073741824 168.1 373 | 16 1073741824 168.3 374 | 32 1073741824 168.2 375 | 64 1073741824 168.2 376 | 128 1073741824 168.8 377 | 256 1073741824 155.7 378 | 512 1073741824 145.5 379 | 1024 1073741824 138.5 380 | 2048 1073741824 133.9 381 | 4096 1073741824 131.7 382 | 8192 1073741824 131.8 383 | 16384 1073741824 131.7 384 | 32768 1073741824 131.6 385 | 65536 1073741824 131.9 386 | 131072 1073741824 129.0 387 | 262144 1073741824 128.0 388 | 524288 1073741824 113.8 389 | 1048576 1073741824 50.8 390 | 2097152 1073741824 25.4 391 | 4194304 1073741824 25.1 392 | 8388608 1073741824 24.6 393 | 16777216 1073741824 24.6 394 | 33554432 1073741824 23.7 395 | 67108864 1073741824 21.6 396 | 134217728 1073741824 8.2 397 | 268435456 1073741824 5.8 398 | 536870912 1073741824 9.9 399 | -------------------------------------------------------------------------------- /results/MACOS_SEQ_REBOOT: -------------------------------------------------------------------------------- 1 | # doing sequential access with a max buffer of 1073741824 2 | 4 4096 4.0 3 | 8 4096 4.1 4 | 16 4096 3.9 5 | 32 4096 4.0 6 | 64 4096 4.0 7 | 128 4096 3.9 8 | 256 4096 4.0 9 | 512 4096 4.1 10 | 1024 4096 4.3 11 | 2048 4096 4.8 12 | 13 | 14 | 4 8192 4.0 15 | 8 8192 4.1 16 | 16 8192 3.9 17 | 32 8192 3.9 18 | 64 8192 3.9 19 | 128 8192 4.0 20 | 256 8192 3.9 21 | 512 8192 4.0 22 | 1024 8192 4.1 23 | 2048 8192 4.3 24 | 4096 8192 5.2 25 | 26 | 27 | 4 16384 4.0 28 | 8 16384 4.1 29 | 16 16384 3.9 30 | 32 16384 3.9 31 | 64 16384 3.9 32 | 128 16384 3.9 33 | 256 16384 4.0 34 | 512 16384 3.9 35 | 1024 16384 4.0 36 | 2048 16384 4.1 37 | 4096 16384 5.0 38 | 8192 16384 5.2 39 | 40 | 41 | 4 32768 4.0 42 | 8 32768 4.1 43 | 16 32768 3.9 44 | 32 32768 3.9 45 | 64 32768 3.9 46 | 128 32768 4.0 47 | 256 32768 3.9 48 | 512 32768 4.0 49 | 1024 32768 3.9 50 | 2048 32768 4.0 51 | 4096 32768 4.9 52 | 8192 32768 5.0 53 | 16384 32768 5.1 54 | 55 | 56 | 4 65536 4.0 57 | 8 65536 4.2 58 | 16 65536 4.0 59 | 32 65536 4.2 60 | 64 65536 5.2 61 | 128 65536 4.8 62 | 256 65536 4.9 63 | 512 65536 4.9 64 | 1024 65536 5.1 65 | 2048 65536 6.2 66 | 4096 65536 8.9 67 | 8192 65536 5.0 68 | 16384 65536 5.0 69 | 32768 65536 5.1 70 | 71 | 72 | 4 131072 4.0 73 | 8 131072 4.2 74 | 16 131072 4.0 75 | 32 131072 4.2 76 | 64 131072 5.2 77 | 128 131072 4.8 78 | 256 131072 4.8 79 | 512 131072 4.9 80 | 1024 131072 5.0 81 | 2048 131072 6.3 82 | 4096 131072 8.9 83 | 8192 131072 9.1 84 | 16384 131072 5.0 85 | 32768 131072 5.0 86 | 65536 131072 5.1 87 | 88 | 89 | 4 262144 4.0 90 | 8 262144 4.2 91 | 16 262144 4.0 92 | 32 262144 4.2 93 | 64 262144 5.2 94 | 128 262144 4.8 95 | 256 262144 4.8 96 | 512 262144 4.9 97 | 1024 262144 5.0 98 | 2048 262144 6.2 99 | 4096 262144 8.8 100 | 8192 262144 8.9 101 | 16384 262144 8.9 102 | 32768 262144 5.0 103 | 65536 262144 5.0 104 | 131072 262144 5.0 105 | 106 | 107 | 4 524288 4.0 108 | 8 524288 4.2 109 | 16 524288 4.0 110 | 32 524288 4.2 111 | 64 524288 5.2 112 | 128 524288 4.8 113 | 256 524288 4.8 114 | 512 524288 4.8 115 | 1024 524288 5.0 116 | 2048 524288 6.1 117 | 4096 524288 8.7 118 | 8192 524288 8.8 119 | 16384 524288 9.2 120 | 32768 524288 8.9 121 | 65536 524288 5.0 122 | 131072 524288 5.0 123 | 262144 524288 5.0 124 | 125 | 126 | 4 1048576 4.0 127 | 8 1048576 4.2 128 | 16 1048576 4.0 129 | 32 1048576 4.2 130 | 64 1048576 5.2 131 | 128 1048576 4.8 132 | 256 1048576 4.8 133 | 512 1048576 4.8 134 | 1024 1048576 5.0 135 | 2048 1048576 6.2 136 | 4096 1048576 8.6 137 | 8192 1048576 8.6 138 | 16384 1048576 8.8 139 | 32768 1048576 9.0 140 | 65536 1048576 8.6 141 | 131072 1048576 5.0 142 | 262144 1048576 5.0 143 | 524288 1048576 5.0 144 | 145 | 146 | 4 2097152 4.0 147 | 8 2097152 4.2 148 | 16 2097152 4.0 149 | 32 2097152 4.2 150 | 64 2097152 5.2 151 | 128 2097152 4.9 152 | 256 2097152 4.9 153 | 512 2097152 5.1 154 | 1024 2097152 5.3 155 | 2048 2097152 6.5 156 | 4096 2097152 9.3 157 | 8192 2097152 9.4 158 | 16384 2097152 9.5 159 | 32768 2097152 9.6 160 | 65536 2097152 9.6 161 | 131072 2097152 9.7 162 | 262144 2097152 5.4 163 | 524288 2097152 5.0 164 | 1048576 2097152 5.0 165 | 166 | 167 | 4 4194304 4.0 168 | 8 4194304 4.2 169 | 16 4194304 4.1 170 | 32 4194304 4.7 171 | 64 4194304 6.5 172 | 128 4194304 7.2 173 | 256 4194304 7.3 174 | 512 4194304 7.6 175 | 1024 4194304 8.0 176 | 2048 4194304 9.3 177 | 4096 4194304 12.5 178 | 8192 4194304 10.2 179 | 16384 4194304 10.2 180 | 32768 4194304 9.5 181 | 65536 4194304 9.9 182 | 131072 4194304 9.7 183 | 262144 4194304 10.6 184 | 524288 4194304 5.4 185 | 1048576 4194304 5.0 186 | 2097152 4194304 5.1 187 | 188 | 189 | 4 8388608 4.1 190 | 8 8388608 4.5 191 | 16 8388608 7.3 192 | 32 8388608 14.5 193 | 64 8388608 28.4 194 | 128 8388608 34.5 195 | 256 8388608 34.6 196 | 512 8388608 35.1 197 | 1024 8388608 36.0 198 | 2048 8388608 42.3 199 | 4096 8388608 61.9 200 | 8192 8388608 38.2 201 | 16384 8388608 9.8 202 | 32768 8388608 9.4 203 | 65536 8388608 9.6 204 | 131072 8388608 9.7 205 | 262144 8388608 11.0 206 | 524288 8388608 10.3 207 | 1048576 8388608 5.6 208 | 2097152 8388608 5.3 209 | 4194304 8388608 5.4 210 | 211 | 212 | 4 16777216 4.3 213 | 8 16777216 4.8 214 | 16 16777216 8.2 215 | 32 16777216 16.2 216 | 64 16777216 31.8 217 | 128 16777216 38.4 218 | 256 16777216 38.6 219 | 512 16777216 39.2 220 | 1024 16777216 39.8 221 | 2048 16777216 46.9 222 | 4096 16777216 71.8 223 | 8192 16777216 62.4 224 | 16384 16777216 26.8 225 | 32768 16777216 10.0 226 | 65536 16777216 9.8 227 | 131072 16777216 9.7 228 | 262144 16777216 11.1 229 | 524288 16777216 10.5 230 | 1048576 16777216 10.6 231 | 2097152 16777216 6.8 232 | 4194304 16777216 5.3 233 | 8388608 16777216 5.4 234 | 235 | 236 | 4 33554432 4.4 237 | 8 33554432 4.9 238 | 16 33554432 8.3 239 | 32 33554432 16.4 240 | 64 33554432 32.2 241 | 128 33554432 38.7 242 | 256 33554432 38.7 243 | 512 33554432 39.3 244 | 1024 33554432 40.0 245 | 2048 33554432 47.1 246 | 4096 33554432 68.7 247 | 8192 33554432 64.6 248 | 16384 33554432 53.2 249 | 32768 33554432 41.8 250 | 65536 33554432 15.2 251 | 131072 33554432 11.7 252 | 262144 33554432 12.2 253 | 524288 33554432 12.3 254 | 1048576 33554432 12.1 255 | 2097152 33554432 12.0 256 | 4194304 33554432 7.1 257 | 8388608 33554432 5.5 258 | 16777216 33554432 5.8 259 | 260 | 261 | 4 67108864 4.7 262 | 8 67108864 5.1 263 | 16 67108864 8.4 264 | 32 67108864 16.4 265 | 64 67108864 32.1 266 | 128 67108864 38.7 267 | 256 67108864 38.7 268 | 512 67108864 39.4 269 | 1024 67108864 40.1 270 | 2048 67108864 47.4 271 | 4096 67108864 68.8 272 | 8192 67108864 65.1 273 | 16384 67108864 59.0 274 | 32768 67108864 52.3 275 | 65536 67108864 40.2 276 | 131072 67108864 18.0 277 | 262144 67108864 13.2 278 | 524288 67108864 13.2 279 | 1048576 67108864 13.2 280 | 2097152 67108864 12.9 281 | 4194304 67108864 12.9 282 | 8388608 67108864 7.7 283 | 16777216 67108864 5.9 284 | 33554432 67108864 6.4 285 | 286 | 287 | 4 134217728 5.3 288 | 8 134217728 5.6 289 | 16 134217728 8.7 290 | 32 134217728 16.7 291 | 64 134217728 32.5 292 | 128 134217728 39.0 293 | 256 134217728 39.1 294 | 512 134217728 39.8 295 | 1024 134217728 40.5 296 | 2048 134217728 48.1 297 | 4096 134217728 69.4 298 | 8192 134217728 65.8 299 | 16384 134217728 60.1 300 | 32768 134217728 57.6 301 | 65536 134217728 52.6 302 | 131072 134217728 37.4 303 | 262144 134217728 25.5 304 | 524288 134217728 14.9 305 | 1048576 134217728 15.1 306 | 2097152 134217728 15.9 307 | 4194304 134217728 14.3 308 | 8388608 134217728 14.3 309 | 16777216 134217728 8.8 310 | 33554432 134217728 6.6 311 | 67108864 134217728 7.1 312 | 313 | 314 | 4 268435456 5.8 315 | 8 268435456 6.1 316 | 16 268435456 9.0 317 | 32 268435456 17.3 318 | 64 268435456 33.5 319 | 128 268435456 40.0 320 | 256 268435456 40.0 321 | 512 268435456 40.7 322 | 1024 268435456 41.4 323 | 2048 268435456 49.6 324 | 4096 268435456 70.4 325 | 8192 268435456 66.5 326 | 16384 268435456 61.0 327 | 32768 268435456 58.4 328 | 65536 268435456 58.9 329 | 131072 268435456 53.7 330 | 262144 268435456 35.3 331 | 524288 268435456 15.8 332 | 1048576 268435456 15.3 333 | 2097152 268435456 16.1 334 | 4194304 268435456 16.2 335 | 8388608 268435456 15.9 336 | 16777216 268435456 15.6 337 | 33554432 268435456 13.1 338 | 67108864 268435456 6.6 339 | 134217728 268435456 7.0 340 | 341 | 342 | 4 536870912 5.8 343 | 8 536870912 6.1 344 | 16 536870912 9.1 345 | 32 536870912 17.5 346 | 64 536870912 34.1 347 | 128 536870912 40.7 348 | 256 536870912 40.6 349 | 512 536870912 41.3 350 | 1024 536870912 42.0 351 | 2048 536870912 50.6 352 | 4096 536870912 71.1 353 | 8192 536870912 67.3 354 | 16384 536870912 61.8 355 | 32768 536870912 59.2 356 | 65536 536870912 60.0 357 | 131072 536870912 59.4 358 | 262144 536870912 53.8 359 | 524288 536870912 33.8 360 | 1048576 536870912 15.4 361 | 2097152 536870912 16.4 362 | 4194304 536870912 16.5 363 | 8388608 536870912 16.8 364 | 16777216 536870912 15.9 365 | 33554432 536870912 15.9 366 | 67108864 536870912 12.5 367 | 134217728 536870912 6.8 368 | 268435456 536870912 7.4 369 | 370 | 371 | 4 1073741824 6.1 372 | 8 1073741824 6.4 373 | 16 1073741824 9.3 374 | 32 1073741824 17.8 375 | 64 1073741824 35.1 376 | 128 1073741824 42.1 377 | 256 1073741824 41.8 378 | 512 1073741824 42.6 379 | 1024 1073741824 43.4 380 | 2048 1073741824 53.2 381 | 4096 1073741824 72.3 382 | 8192 1073741824 69.2 383 | 16384 1073741824 63.9 384 | 32768 1073741824 61.2 385 | 65536 1073741824 62.1 386 | 131072 1073741824 61.6 387 | 262144 1073741824 62.2 388 | 524288 1073741824 55.4 389 | 1048576 1073741824 33.7 390 | 2097152 1073741824 18.9 391 | 4194304 1073741824 18.7 392 | 8388608 1073741824 18.4 393 | 16777216 1073741824 18.3 394 | 33554432 1073741824 17.2 395 | 67108864 1073741824 17.0 396 | 134217728 1073741824 13.1 397 | 268435456 1073741824 7.1 398 | 536870912 1073741824 7.3 399 | -------------------------------------------------------------------------------- /results/NOTES: -------------------------------------------------------------------------------- 1 | These are my notes for interpreting the results. 2 | 3 | I used two laptops for gathering these results. 4 | 5 | 1) Dirac: (sysctl -r machdep.cpu.brand_string) 6 | Intel(R) Core(TM)2 Duo CPU T7800 @ 2.60GHz 7 | 4MB L2 cache 8 | 800MHz Bus Speed 9 | 10 | According to Lenovo: 11 | http://www.lenovo.com/psref/pdf/tecbook.pdf 12 | 13 | 14 | L1 cache - 64KB per core split between data cache (32KB) and 15 | instuction cache (32KB) 16 | 17 | L1 data cache - 2x32KB data cache, integrated 18 | 19 | L1 instruction cache - 2x32KB instruction cache, integrated 20 | 21 | L2 cache - size : 2MB or 4MB, full speed, shared between both 22 | cores (Intel Advanced Smart Cache) 23 | 24 | L2 cache - data path : 256-bit data path (32 bytes), 64 byte 25 | cache line size, 8-way set associative, integrated, unified 26 | (on die) 27 | 28 | 29 | 30 | KNOPPIX_SEQ_DIRAC - 31 | -------------------------------------------------------------------------------- /results/efi_seq_3d.plot: -------------------------------------------------------------------------------- 1 | #set term x11 2 | set ticslevel 0 3 | set xrange [] reverse 4 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, "128K" 131072, \ 5 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 6 | "512M" 536870912) 7 | set xtics offset 0.0, -0.3, 0.0 8 | set ytics (0, "8K" 8192, "32K" 32768, "128K" 131072, \ 9 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 10 | "512M" 536870912) 11 | set ytics offset 2.5, 0.0, 0.0 12 | set grid 13 | unset key 14 | set xlabel "Stride (bytes)" offset 0.0, -1.0 15 | set ylabel "Buffer Size (bytes)" 16 | set zlabel "Time (ns)" 17 | set view 70,30 18 | #set view 57,13 19 | #set view 46, 345 20 | set pm3d at s hidden3d 100 21 | set style line 100 lt 5 lw 0.5 22 | unset surf 23 | set log xy # add z to use log scale for time 24 | #set log z 25 | set lmargin 8 26 | set title "Cache Latency (EFI - Sequential)" 27 | splot "< cat -s EFI_SEQ" with lines 28 | 29 | # Local Variables: ** 30 | # mode: gnuplot ** 31 | # End: ** 32 | -------------------------------------------------------------------------------- /results/knoppix_rand_2d_L1.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | # set yrange [0:140] 10 | set grid 11 | set log x 12 | set title "Linux 2.6 - Random (L1)" 13 | set xlabel "Stride (bytes)" 14 | set ylabel "Time (ns)" 15 | plot "KNOPPIX_RAND_DIRAC" index 0 using 1:3 with lines title "4K", \ 16 | "KNOPPIX_RAND_DIRAC" index 1 using 1:3 with lines title "8K", \ 17 | "KNOPPIX_RAND_DIRAC" index 2 using 1:3 with lines title "16K", \ 18 | "KNOPPIX_RAND_DIRAC" index 3 using 1:3 with lines title "32K", \ 19 | "KNOPPIX_RAND_DIRAC" index 4 using 1:3 with lines title "64K" 20 | -------------------------------------------------------------------------------- /results/knoppix_rand_2d_L2.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set yrange [0:140] 10 | set grid 11 | set log x 12 | set title "Linux 2.6 - Sequential (L2)" 13 | set xlabel "Stride (bytes)" 14 | set ylabel "Time (ns)" 15 | plot "KNOPPIX_RAND_DIRAC" index 4 using 1:3 with lines title "64K", \ 16 | "KNOPPIX_RAND_DIRAC" index 5 using 1:3 with lines title "128K", \ 17 | "KNOPPIX_RAND_DIRAC" index 6 using 1:3 with lines title "256K", \ 18 | "KNOPPIX_RAND_DIRAC" index 7 using 1:3 with lines title "512K", \ 19 | "KNOPPIX_RAND_DIRAC" index 8 using 1:3 with lines title "1M", \ 20 | "KNOPPIX_RAND_DIRAC" index 9 using 1:3 with lines title "2M", \ 21 | "KNOPPIX_RAND_DIRAC" index 10 using 1:3 with lines title "4M" 22 | -------------------------------------------------------------------------------- /results/knoppix_rand_2d_L2_zoom.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set yrange [0:20] 10 | set grid 11 | set log x 12 | set title "Linux 2.6 - Sequential (L2)" 13 | set xlabel "Stride (bytes)" 14 | set ylabel "Time (ns)" 15 | plot "KNOPPIX_RAND_DIRAC" index 4 using 1:3 with lines title "64K", \ 16 | "KNOPPIX_RAND_DIRAC" index 5 using 1:3 with lines title "128K", \ 17 | "KNOPPIX_RAND_DIRAC" index 6 using 1:3 with lines title "256K", \ 18 | "KNOPPIX_RAND_DIRAC" index 7 using 1:3 with lines title "512K", \ 19 | "KNOPPIX_RAND_DIRAC" index 8 using 1:3 with lines title "1M", \ 20 | "KNOPPIX_RAND_DIRAC" index 9 using 1:3 with lines title "2M", \ 21 | "KNOPPIX_RAND_DIRAC" index 10 using 1:3 with lines title "4M" 22 | -------------------------------------------------------------------------------- /results/knoppix_rand_2d_mem.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set grid 10 | set log x 11 | set title "Linux 2.6 - Sequential (>L2)" 12 | set xlabel "Stride (bytes)" 13 | set ylabel "Time (ns)" 14 | plot "KNOPPIX_RAND_DIRAC" index 11 using 1:3 with lines title "8M", \ 15 | "KNOPPIX_RAND_DIRAC" index 12 using 1:3 with lines title "16M", \ 16 | "KNOPPIX_RAND_DIRAC" index 13 using 1:3 with lines title "32M", \ 17 | "KNOPPIX_RAND_DIRAC" index 14 using 1:3 with lines title "64M", \ 18 | "KNOPPIX_RAND_DIRAC" index 15 using 1:3 with lines title "128M", \ 19 | "KNOPPIX_RAND_DIRAC" index 16 using 1:3 with lines title "256M", \ 20 | "KNOPPIX_RAND_DIRAC" index 17 using 1:3 with lines title "512M", \ 21 | "KNOPPIX_RAND_DIRAC" index 18 using 1:3 with lines title "1GB" 22 | -------------------------------------------------------------------------------- /results/knoppix_rand_3d.plot: -------------------------------------------------------------------------------- 1 | #set term x11 2 | set ticslevel 0 3 | set xrange [] reverse 4 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, "128K" 131072, \ 5 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 6 | "512M" 536870912) 7 | set xtics offset 0.0, -0.3, 0.0 8 | set ytics (0, "8K" 8192, "32K" 32768, "128K" 131072, \ 9 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 10 | "512M" 536870912) 11 | set ytics offset 2.5, 0.0, 0.0 12 | set grid 13 | unset key 14 | set xlabel "Stride (bytes)" offset 0.0, -1.0 15 | set ylabel "Buffer Size (bytes)" 16 | set zlabel "Time (ns)" 17 | set view 70,30 18 | #set view 57,13 19 | #set view 46, 345 20 | set pm3d at s hidden3d 100 21 | set style line 100 lt 5 lw 0.5 22 | unset surf 23 | set log xy # add z to use log scale for time 24 | #set log z 25 | set lmargin 8 26 | set title "Cache Latency (Linux - Sequential)" 27 | splot "< cat -s KNOPPIX_RAND_DIRAC" with lines 28 | 29 | # Local Variables: ** 30 | # mode: gnuplot ** 31 | # End: ** 32 | -------------------------------------------------------------------------------- /results/knoppix_seq_2d_L1.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | #set yrange [0:20] 10 | set grid 11 | set log x 12 | set title "Linux 2.6 - Sequential (L1)" 13 | set xlabel "Stride (bytes)" 14 | set ylabel "Time (ns)" 15 | plot "KNOPPIX_SEQ_DIRAC" index 0 using 1:3 with lines title "4K", \ 16 | "KNOPPIX_SEQ_DIRAC" index 1 using 1:3 with lines title "8K", \ 17 | "KNOPPIX_SEQ_DIRAC" index 2 using 1:3 with lines title "16K", \ 18 | "KNOPPIX_SEQ_DIRAC" index 3 using 1:3 with lines title "32K", \ 19 | "KNOPPIX_SEQ_DIRAC" index 4 using 1:3 with lines title "64K" 20 | -------------------------------------------------------------------------------- /results/knoppix_seq_2d_L2.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set yrange [0:140] 10 | set grid 11 | set log x 12 | set title "Linux 2.6 - Sequential (L2)" 13 | set xlabel "Stride (bytes)" 14 | set ylabel "Time (ns)" 15 | plot "KNOPPIX_SEQ_DIRAC" index 4 using 1:3 with lines title "64K", \ 16 | "KNOPPIX_SEQ_DIRAC" index 5 using 1:3 with lines title "128K", \ 17 | "KNOPPIX_SEQ_DIRAC" index 6 using 1:3 with lines title "256K", \ 18 | "KNOPPIX_SEQ_DIRAC" index 7 using 1:3 with lines title "512K", \ 19 | "KNOPPIX_SEQ_DIRAC" index 8 using 1:3 with lines title "1M", \ 20 | "KNOPPIX_SEQ_DIRAC" index 9 using 1:3 with lines title "2M", \ 21 | "KNOPPIX_SEQ_DIRAC" index 10 using 1:3 with lines title "4M" 22 | -------------------------------------------------------------------------------- /results/knoppix_seq_2d_L2_zoom.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set yrange [0:20] 10 | set grid 11 | set log x 12 | set title "Linux 2.6 - Sequential (L2)" 13 | set xlabel "Stride (bytes)" 14 | set ylabel "Time (ns)" 15 | plot "KNOPPIX_SEQ_DIRAC" index 4 using 1:3 with lines title "64K", \ 16 | "KNOPPIX_SEQ_DIRAC" index 5 using 1:3 with lines title "128K", \ 17 | "KNOPPIX_SEQ_DIRAC" index 6 using 1:3 with lines title "256K", \ 18 | "KNOPPIX_SEQ_DIRAC" index 7 using 1:3 with lines title "512K", \ 19 | "KNOPPIX_SEQ_DIRAC" index 8 using 1:3 with lines title "1M", \ 20 | "KNOPPIX_SEQ_DIRAC" index 9 using 1:3 with lines title "2M", \ 21 | "KNOPPIX_SEQ_DIRAC" index 10 using 1:3 with lines title "4M" 22 | -------------------------------------------------------------------------------- /results/knoppix_seq_2d_all.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set grid 10 | set log x 11 | set title "Linux - Sequential" 12 | set xlabel "Stride (bytes)" 13 | set ylabel "Time (ns)" 14 | plot "KNOPPIX_SEQ_DIRAC" index 0 using 1:3 with lines title "4K", \ 15 | "KNOPPIX_SEQ_DIRAC" index 1 using 1:3 with lines title "8K", \ 16 | "KNOPPIX_SEQ_DIRAC" index 2 using 1:3 with lines title "16K", \ 17 | "KNOPPIX_SEQ_DIRAC" index 3 using 1:3 with lines title "32K", \ 18 | "KNOPPIX_SEQ_DIRAC" index 4 using 1:3 with lines title "64K", \ 19 | "KNOPPIX_SEQ_DIRAC" index 5 using 1:3 with lines title "128K", \ 20 | "KNOPPIX_SEQ_DIRAC" index 6 using 1:3 with lines title "256K", \ 21 | "KNOPPIX_SEQ_DIRAC" index 7 using 1:3 with lines title "512K", \ 22 | "KNOPPIX_SEQ_DIRAC" index 8 using 1:3 with lines title "1M", \ 23 | "KNOPPIX_SEQ_DIRAC" index 9 using 1:3 with lines title "2M", \ 24 | "KNOPPIX_SEQ_DIRAC" index 10 using 1:3 with lines title "4M", \ 25 | "KNOPPIX_SEQ_DIRAC" index 11 using 1:3 with lines title "8M", \ 26 | "KNOPPIX_SEQ_DIRAC" index 12 using 1:3 with lines title "16M", \ 27 | "KNOPPIX_SEQ_DIRAC" index 13 using 1:3 with lines title "32M", \ 28 | "KNOPPIX_SEQ_DIRAC" index 14 using 1:3 with lines title "64M", \ 29 | "KNOPPIX_SEQ_DIRAC" index 15 using 1:3 with lines title "128M", \ 30 | "KNOPPIX_SEQ_DIRAC" index 16 using 1:3 with lines title "256M", \ 31 | "KNOPPIX_SEQ_DIRAC" index 17 using 1:3 with lines title "512M", \ 32 | "KNOPPIX_SEQ_DIRAC" index 18 using 1:3 with lines title "1GB" 33 | -------------------------------------------------------------------------------- /results/knoppix_seq_2d_mem.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set grid 10 | set log x 11 | set title "Linux 2.6 - Sequential (>L2)" 12 | set xlabel "Stride (bytes)" 13 | set ylabel "Time (ns)" 14 | plot "KNOPPIX_SEQ_DIRAC" index 11 using 1:3 with lines title "8M", \ 15 | "KNOPPIX_SEQ_DIRAC" index 12 using 1:3 with lines title "16M", \ 16 | "KNOPPIX_SEQ_DIRAC" index 13 using 1:3 with lines title "32M", \ 17 | "KNOPPIX_SEQ_DIRAC" index 14 using 1:3 with lines title "64M", \ 18 | "KNOPPIX_SEQ_DIRAC" index 15 using 1:3 with lines title "128M", \ 19 | "KNOPPIX_SEQ_DIRAC" index 16 using 1:3 with lines title "256M", \ 20 | "KNOPPIX_SEQ_DIRAC" index 17 using 1:3 with lines title "512M", \ 21 | "KNOPPIX_SEQ_DIRAC" index 18 using 1:3 with lines title "1GB" 22 | -------------------------------------------------------------------------------- /results/knoppix_seq_2d_most.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set grid 10 | set log x 11 | set title "Linux - Sequential" 12 | set xlabel "Stride (bytes)" 13 | set ylabel "Time (ns)" 14 | plot "KNOPPIX_SEQ_DIRAC" index 1 using 1:3 with lines title "8K", \ 15 | "KNOPPIX_SEQ_DIRAC" index 2 using 1:3 with lines title "16K", \ 16 | "KNOPPIX_SEQ_DIRAC" index 3 using 1:3 with lines title "32K", \ 17 | "KNOPPIX_SEQ_DIRAC" index 4 using 1:3 with lines title "64K", \ 18 | "KNOPPIX_SEQ_DIRAC" index 9 using 1:3 with lines title "2M", \ 19 | "KNOPPIX_SEQ_DIRAC" index 10 using 1:3 with lines title "4M", \ 20 | "KNOPPIX_SEQ_DIRAC" index 11 using 1:3 with lines title "8M", \ 21 | "KNOPPIX_SEQ_DIRAC" index 14 using 1:3 with lines title "64M", \ 22 | "KNOPPIX_SEQ_DIRAC" index 15 using 1:3 with lines title "128M", \ 23 | "KNOPPIX_SEQ_DIRAC" index 17 using 1:3 with lines title "512M", \ 24 | "KNOPPIX_SEQ_DIRAC" index 18 using 1:3 with lines title "1GB" 25 | -------------------------------------------------------------------------------- /results/knoppix_seq_3d.plot: -------------------------------------------------------------------------------- 1 | #set term x11 2 | set ticslevel 0 3 | set xrange [] reverse 4 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, "128K" 131072, \ 5 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 6 | "512M" 536870912) 7 | set xtics offset 0.0, -0.3, 0.0 8 | set ytics (0, "8K" 8192, "32K" 32768, "128K" 131072, \ 9 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 10 | "512M" 536870912) 11 | set ytics offset 2.5, 0.0, 0.0 12 | set grid 13 | unset key 14 | set xlabel "Stride (bytes)" offset 0.0, -1.0 15 | set ylabel "Buffer Size (bytes)" 16 | set zlabel "Time (ns)" 17 | set view 70,30 18 | #set view 57,13 19 | #set view 46, 345 20 | set pm3d at s hidden3d 100 21 | set style line 100 lt 5 lw 0.5 22 | unset surf 23 | set log xy # add z to use log scale for time 24 | #set log z 25 | set lmargin 8 26 | set title "Cache Latency (Linux - Sequential)" 27 | splot "< cat -s KNOPPIX_SEQ_DIRAC" with lines 28 | 29 | # Local Variables: ** 30 | # mode: gnuplot ** 31 | # End: ** 32 | -------------------------------------------------------------------------------- /results/macos_rand_2d_L1.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | # set yrange [0:140] 10 | set grid 11 | set log x 12 | set title "Mac OS 10.5.6 - Random (L1)" 13 | set xlabel "Stride (bytes)" 14 | set ylabel "Time (ns)" 15 | plot "MACOS_RAND_REBOOT" index 0 using 1:3 with lines title "4K", \ 16 | "MACOS_RAND_REBOOT" index 1 using 1:3 with lines title "8K", \ 17 | "MACOS_RAND_REBOOT" index 2 using 1:3 with lines title "16K", \ 18 | "MACOS_RAND_REBOOT" index 3 using 1:3 with lines title "32K", \ 19 | "MACOS_RAND_REBOOT" index 4 using 1:3 with lines title "64K" 20 | -------------------------------------------------------------------------------- /results/macos_rand_2d_most.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set grid 10 | set log x 11 | set title "Mac OS X - Random" 12 | set xlabel "Stride (bytes)" 13 | set ylabel "Time (ns)" 14 | plot "MACOS_RAND_REBOOT" index 1 using 1:3 with lines title "8K", \ 15 | "MACOS_RAND_REBOOT" index 2 using 1:3 with lines title "16K", \ 16 | "MACOS_RAND_REBOOT" index 3 using 1:3 with lines title "32K", \ 17 | "MACOS_RAND_REBOOT" index 4 using 1:3 with lines title "64K", \ 18 | "MACOS_RAND_REBOOT" index 9 using 1:3 with lines title "2M", \ 19 | "MACOS_RAND_REBOOT" index 10 using 1:3 with lines title "4M", \ 20 | "MACOS_RAND_REBOOT" index 11 using 1:3 with lines title "8M", \ 21 | "MACOS_RAND_REBOOT" index 14 using 1:3 with lines title "64M", \ 22 | "MACOS_RAND_REBOOT" index 15 using 1:3 with lines title "128M", \ 23 | "MACOS_RAND_REBOOT" index 17 using 1:3 with lines title "512M", \ 24 | "MACOS_RAND_REBOOT" index 18 using 1:3 with lines title "1GB" 25 | -------------------------------------------------------------------------------- /results/macos_rand_2d_small.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288) 7 | set grid 8 | set log x 9 | set title "Mac OS X - Random" 10 | set xlabel "Stride (bytes)" 11 | set ylabel "Time (ns)" 12 | plot "MACOS_RAND_REBOOT" index 0 using 1:3 with lines title "4K", \ 13 | "MACOS_RAND_REBOOT" index 1 using 1:3 with lines title "8K", \ 14 | "MACOS_RAND_REBOOT" index 2 using 1:3 with lines title "16K", \ 15 | "MACOS_RAND_REBOOT" index 3 using 1:3 with lines title "32K", \ 16 | "MACOS_RAND_REBOOT" index 4 using 1:3 with lines title "64K", \ 17 | "MACOS_RAND_REBOOT" index 5 using 1:3 with lines title "128K", \ 18 | "MACOS_RAND_REBOOT" index 6 using 1:3 with lines title "256K", \ 19 | "MACOS_RAND_REBOOT" index 7 using 1:3 with lines title "512K", \ 20 | "MACOS_RAND_REBOOT" index 8 using 1:3 with lines title "1M" 21 | -------------------------------------------------------------------------------- /results/macos_rand_3d.plot: -------------------------------------------------------------------------------- 1 | #set term x11 2 | set ticslevel 0 3 | set xrange [] reverse 4 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, "128K" 131072, \ 5 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 6 | "512M" 536870912) 7 | set xtics offset 0.0, -0.3, 0.0 8 | set ytics (0, "8K" 8192, "32K" 32768, "128K" 131072, \ 9 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 10 | "512M" 536870912) 11 | set ytics offset 2.5, 0.0, 0.0 12 | set grid 13 | unset key 14 | set xlabel "Stride (bytes)" offset 0.0, -1.0 15 | set ylabel "Buffer Size (bytes)" 16 | set zlabel "Time (ns)" 17 | set view 70,30 18 | #set view 57,13 19 | #set view 46, 345 20 | set pm3d at s hidden3d 100 21 | set style line 100 lt 5 lw 0.5 22 | unset surf 23 | set log xy # add z to use log scale for time 24 | #set log z 25 | set lmargin 8 26 | set title "Cache Latency (Mac OS X - Random)" 27 | splot "< cat -s MACOS_RAND_REBOOT" with lines 28 | 29 | # Local Variables: ** 30 | # mode: gnuplot ** 31 | # End: ** 32 | -------------------------------------------------------------------------------- /results/macos_seq_2d_large.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288) 7 | set grid 8 | set log x 9 | set title "Mac OS X - Sequential" 10 | set xlabel "Stride (bytes)" 11 | set ylabel "Time (ns)" 12 | plot "MACOS_SEQ_REBOOT" index 9 using 1:3 with lines title "2M", \ 13 | "MACOS_SEQ_REBOOT" index 10 using 1:3 with lines title "4M", \ 14 | "MACOS_SEQ_REBOOT" index 11 using 1:3 with lines title "8M", \ 15 | "MACOS_SEQ_REBOOT" index 12 using 1:3 with lines title "16M", \ 16 | "MACOS_SEQ_REBOOT" index 13 using 1:3 with lines title "32M", \ 17 | "MACOS_SEQ_REBOOT" index 14 using 1:3 with lines title "64M", \ 18 | "MACOS_SEQ_REBOOT" index 15 using 1:3 with lines title "128M", \ 19 | "MACOS_SEQ_REBOOT" index 16 using 1:3 with lines title "256M", \ 20 | "MACOS_SEQ_REBOOT" index 17 using 1:3 with lines title "512M", \ 21 | "MACOS_SEQ_REBOOT" index 18 using 1:3 with lines title "1G" 22 | -------------------------------------------------------------------------------- /results/macos_seq_2d_most.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set grid 10 | set log x 11 | set title "Mac OS X - Sequential" 12 | set xlabel "Stride (bytes)" 13 | set ylabel "Time (ns)" 14 | plot "MACOS_SEQ_REBOOT" index 1 using 1:3 with lines title "8K", \ 15 | "MACOS_SEQ_REBOOT" index 2 using 1:3 with lines title "16K", \ 16 | "MACOS_SEQ_REBOOT" index 3 using 1:3 with lines title "32K", \ 17 | "MACOS_SEQ_REBOOT" index 4 using 1:3 with lines title "64K", \ 18 | "MACOS_SEQ_REBOOT" index 9 using 1:3 with lines title "2M", \ 19 | "MACOS_SEQ_REBOOT" index 10 using 1:3 with lines title "4M", \ 20 | "MACOS_SEQ_REBOOT" index 11 using 1:3 with lines title "8M", \ 21 | "MACOS_SEQ_REBOOT" index 14 using 1:3 with lines title "64M", \ 22 | "MACOS_SEQ_REBOOT" index 15 using 1:3 with lines title "128M", \ 23 | "MACOS_SEQ_REBOOT" index 17 using 1:3 with lines title "512M", \ 24 | "MACOS_SEQ_REBOOT" index 18 using 1:3 with lines title "1GB" 25 | -------------------------------------------------------------------------------- /results/macos_seq_2d_small.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288) 7 | set grid 8 | set log x 9 | set title "Mac OS X - Sequential" 10 | set xlabel "Stride (bytes)" 11 | set ylabel "Time (ns)" 12 | plot "MACOS_SEQ_REBOOT" index 0 using 1:3 with lines title "4K", \ 13 | "MACOS_SEQ_REBOOT" index 1 using 1:3 with lines title "8K", \ 14 | "MACOS_SEQ_REBOOT" index 2 using 1:3 with lines title "16K", \ 15 | "MACOS_SEQ_REBOOT" index 3 using 1:3 with lines title "32K", \ 16 | "MACOS_SEQ_REBOOT" index 4 using 1:3 with lines title "64K", \ 17 | "MACOS_SEQ_REBOOT" index 5 using 1:3 with lines title "128K", \ 18 | "MACOS_SEQ_REBOOT" index 6 using 1:3 with lines title "256K", \ 19 | "MACOS_SEQ_REBOOT" index 7 using 1:3 with lines title "512K", \ 20 | "MACOS_SEQ_REBOOT" index 8 using 1:3 with lines title "1M" 21 | -------------------------------------------------------------------------------- /results/macos_seq_3d.plot: -------------------------------------------------------------------------------- 1 | set term aqua 2 | set ticslevel 0 3 | set xrange [] reverse 4 | set zrange [0:140] 5 | set cbrange [0:140] 6 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, "128K" 131072, \ 7 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set xtics offset 0.0, -0.3, 0.0 10 | set ytics (0, "8K" 8192, "32K" 32768, "128K" 131072, \ 11 | "512K" 524288, "2M" 2097152, "8M" 8388608, "32M" 33554432, "128M" 134217728, \ 12 | "512M" 536870912) 13 | set ytics offset 2.5, 0.0, 0.0 14 | set grid 15 | unset key 16 | set xlabel "Stride (bytes)" offset 0.0, -1.0 17 | set ylabel "Buffer Size (bytes)" 18 | set zlabel "Time (ns)" 19 | set view 70,30 20 | #set view 57,13 21 | #set view 46, 345 22 | set pm3d at s hidden3d 100 23 | set style line 100 lt 5 lw 0.5 24 | unset surf 25 | set log xy # add z to use log scale for time 26 | #set log z 27 | set lmargin 8 28 | set title "Cache Latency (Mac OS X - Sequential)" 29 | splot "< cat -s MACOS_SEQ_REBOOT" with lines 30 | 31 | # Local Variables: ** 32 | # mode: gnuplot ** 33 | # End: ** 34 | -------------------------------------------------------------------------------- /results/mix_seq_2d_256.plot: -------------------------------------------------------------------------------- 1 | # Local Variables: ** 2 | # mode: gnuplot ** 3 | # End: ** 4 | #set term x11 5 | set xtics (2, 8, 32, 128, 512, "2K" 2048, "8K" 8192, "32K" 32768, \ 6 | "128K" 131072, "512K" 524288, "2M" 2097152, "8M" 8388608, \ 7 | "32M" 33554432, "128M" 134217728, \ 8 | "512M" 536870912) 9 | set grid 10 | set log x 11 | set title "Linux 2.6 vs Mac OS 10.5.6 - Sequential (256M)" 12 | set xlabel "Stride (bytes)" 13 | set ylabel "Time (ns)" 14 | plot "KNOPPIX_SEQ_DIRAC" index 16 using 1:3 with lines title "Linux (256M)", \ 15 | "MACOS_SEQ_REBOOT" index 16 using 1:3 with lines title "Mac OS (256M)", \ 16 | "KNOPPIX_SEQ_DIRAC" index 15 using 1:3 with lines title "Linux (128M)", \ 17 | "MACOS_SEQ_REBOOT" index 15 using 1:3 with lines title "Mac OS (128M)" 18 | 19 | --------------------------------------------------------------------------------