Professional Documents
Culture Documents
Abstract— Memory technology applied to the computer is certainly very important in supporting all activities
performed by the computer. To see the access and how much memory in the computer can accommodate and
provide paths for accessing or processing data into the processor, we uses the mountain benchmarking memory
method by using the mountain c code to map the memory activity from the fastest to the slowest accessed by the
CPU . The end result of this study is to measuring how the capacity and speed of a memory affecting each other.
Keywords— mountain.c code; memory mountain microbenchmarking; memory performance; performance
measurement; memory mountain;
I. INTRODUCTION
In the current era of globalization, The development of technology can grow rapidly due to the progress of culture
and civilization levels in humans[1], because the more advanced culture than the technology will continue to grow.
the role of computers is no longer questionable the importance of developing the Information Technology sector.
Memory technology applied to the computer is certainly very important in supporting all activities carried out and
system on the computer. A system can be defined as a collection or set of elements, components, or variables that
organized, interacting, interdependent on one another and integrated. The system is also a collection of
interconnected elements and work together to process the inputs intended for the system and process the input to
produce the desired output.[2] And one of those systems is memory. The types of memory used in computers are
subdivided into several parts that support each other over the performance of a computer. Of which the storage
capacity in it large but slow access power, until it is embedded in the processor with fast access but very small
capacity. To see the access and how much memory in the computer can accommodate and provide a path for
accessing data into the processor, the authors apply a research with mountain memory techniques using the code
of mountain c, to be able to map the memory activity from the fastest to the slowest accessed by CPU.
The purpose of this paper is to 1. Measure and evaluate the speed of data transfer between memory and CPU, 2.
View the performance of RAM, Cache L1 and L2 at workload and 3. Measure the relationship between storage
capacity and access speed.
________________________________________________________________________________________________
IRJCS: Impact Factor Value – SJIF: Innospace, Morocco (2016): 4.281
Indexcopernicus: (ICV 2016): 88.80
© 2014- 18, IRJCS- All Rights Reserved Page -227
International Research Journal of Computer Science (IRJCS) ISSN: 2393-9842
Issue 05, Volume 5 (May 2018) www.irjcs.com
In facilitating the reader in following the stages of research conducted, the authors divide this writing in several
sections. The sections are I. Introduction, II. Theoretical Fundamental, III. Methods, IV. Results and Discussion and
V. Conclusion.
_________________________________________________________________________________________________
IRJCS: Impact Factor Value – SJIF: Innospace, Morocco (2016): 4.281
Indexcopernicus: (ICV 2016): 88.80
© 2014- 18, IRJCS- All Rights Reserved Page -228
International Research Journal of Computer Science (IRJCS) ISSN: 2393-9842
Issue 05, Volume 5 (May 2018) www.irjcs.com
/* $end mountainmain */
void init_data(int *data, int n);
void test(int elems, int stride);
double run(int size, int stride, double Mhz);
/* $begin mountainmain */
int main()
{
int size; /* Working set size (in bytes) */
int stride; /* Stride (in array elements) */
double Mhz; /* Clock frequency */
/* Initialize each element in data to 1 */
init_data(data, MAXELEMS);
/* $end mountainmain */
/* Not shown in the text */
printf("Clock frequency is approx. %.1f MHz\n", Mhz);
printf("Memory mountain (MB/sec)\n");
printf("\t");
for (stride = 1; stride <= MAXSTRIDE; stride += STRIDESTRIDE)
printf("s%d\t", stride);
printf("\n");
/* $begin mountainmain */
for (size = MAXBYTES; size >= MINBYTES; size >>= 1) {
/* $end mountainmain */
/* Not shown in the text */
if (size > (1 << 20))
printf("%dm\t", size / (1 << 20));
else
printf("%dk\t", size / 1024);
/* $begin mountainmain */
for (stride = 1; stride <= MAXSTRIDE; stride += STRIDESTRIDE) {
printf("%.0f\t", run(size, stride, Mhz));
}
printf("\n");
}
exit(0);
}
/* $end mountainmain */
Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting
software for cost allocation of processor time, mass storage, printing, and other resources. For hardware functions
such as input and output and memory allocation, the operating system acts as an intermediary between programs
and the computer hardware[8] In this study, we used unix-like Operating System. Unix was originally written in
assembly language.[9] Ken Thompson wrote B, mainly based on BCPL, based on his experience in the MULTICS
project. B was replaced by C, and Unix, rewritten in C, developed into a large.
Complex family of inter-related operating systems which have been influential in every modern operating system.
Unix-like systems run on a wide variety of computer architectures. They are used heavily for servers in business,
as well as workstations in academic and engineering environments. Free UNIX variants, such as Linux and BSD,
are popular in these areas. Four operating systems are certified by The Open Group (holder of the Unix trademark)
as Unix. HP's HP-UX and IBM's AIX are both descendants of the original System V Unix and are designed to run
only on their respective vendor's hardware. In contrast, Sun Microsystems's Solaris can run on multiple types of
hardware, including x86 and Sparc servers, and PCs. Apple's macOS, a replacement for Apple's earlier (non-Unix)
Mac OS, is a hybrid kernel-based BSD variant derived from NeXTSTEP, Mach, and FreeBSD. Operating System
Spesification for this study is listed in following Table II
TABLE II - OPERATING SYSTEM SPESIFICATION
Subject Spesification
Distributor ID Debian
Description Debian GNU/Linux 7.7 (Wheezy)
Release 7.7
Code Name Wheezy
3. Processor Specification
TABLE III - PROCESSOR SPESIFICATION
Subject Spesification
Status Launched
Launch Date Q1, 07
Processor Number X3220
L2 Cache 8 MB
FSB Speed 1066MHz
FSB Parity No
Instruction Set 64-bit
Embedded Options Available No
Lithography 65nm
VID Voltage Range 0.8500V – 1.500V
Performance of Core 4
Processor Base Frequency 2.4GHz
TDP 105W
Physical Address 32-bit
Socket LGA 775
3. Implementation of Micro Benchmarking Memory Mountain Method
The steps taken to be able to run the memory mountain implementation are as follows: a. Download the source
code memory mountain with the command wget -r -l1 www.cs.cmu.edu/afs/cs/academic/class/15213-
f05/code/mem/mountain/mountain.c, b. Move to the mountain directory with the command cd
/root/www.cs.cmu.edu/afs/cs/academic/class/15213-f05/code/mem/mountain/mountain.c, c. Compile with
the command gcc -O -o mountain mountain.c fcyc2.c clock.c and d. Run with the command ./mountain> result.txt.
4. Analysis of Implementation Results
Analysis of the results of memory mountain implementation is done by the following steps, 1. Classification of
Implementation Results, this section classifies the implementation results into the RAM range, Cache Memory L1
and Cache Memory L2 as preliminary research data, 2. Conversion of Implementation Result to Memory Mountain
Graph . in this section, the authors convert the implementation results from the table form into the form of a
memory mountain graph, 3. Sampling Sessions and Performance Analysis. In this section, the authors take
samples of sliced graphs per stride and analyze per stride performance, last 4.
_________________________________________________________________________________________________
IRJCS: Impact Factor Value – SJIF: Innospace, Morocco (2016): 4.281
Indexcopernicus: (ICV 2016): 88.80
© 2014- 18, IRJCS- All Rights Reserved Page -231
International Research Journal of Computer Science (IRJCS) ISSN: 2393-9842
Issue 05, Volume 5 (May 2018) www.irjcs.com
Performance Analysis Results, the authors convert the per-graph chart results into the performance statistics
graph and conclude the performance results based on the statistical results.
IV. RESULT AND DISCUSSION
1. Implementation Result
If the implementation step is done, it will get the results that appear on the console and stored in the file result.txt
as we can see with the following picture:
_________________________________________________________________________________________________
IRJCS: Impact Factor Value – SJIF: Innospace, Morocco (2016): 4.281
Indexcopernicus: (ICV 2016): 88.80
© 2014- 18, IRJCS- All Rights Reserved Page -232
International Research Journal of Computer Science (IRJCS) ISSN: 2393-9842
Issue 05, Volume 5 (May 2018) www.irjcs.com
In the simulation of stride 5, RAM is still stable but with reduced speed with an average of 1,145.80 Mb/s. this
shows that the larger the data processed the less RAM speed data processing. Meanwhile, for L2 cache, the
average speed is in the range of 3,514.75 Mb/s. and tends to decrease as more data is processed.
_________________________________________________________________________________________________
IRJCS: Impact Factor Value – SJIF: Innospace, Morocco (2016): 4.281
Indexcopernicus: (ICV 2016): 88.80
© 2014- 18, IRJCS- All Rights Reserved Page -233
International Research Journal of Computer Science (IRJCS) ISSN: 2393-9842
Issue 05, Volume 5 (May 2018) www.irjcs.com
For L1 cache, the data readout speed is not much different from L2 with average data reading 3,499.5 Mb/s. The
results obtained are also the same as the previous slices, the more data processed in L1, the faster performance
L1 do.
V. CONCLUSION
1. Measure and evaluate result of the speed rank of data transfer between memory and CPU is L1 is the fastest,
L2 is coming next and RAM is the slowest one
2. The performance between the RAM, Cache L1 and Cache L2 at workload can be shown on the TABLE VI which
is for the big workload, the highest performance
3. the relationship between storage capacity and access speed can be shown on TABLE VII which is the larger
storage capacity the slower the read speed and the smaller the storage capacity the faster
_________________________________________________________________________________________________
IRJCS: Impact Factor Value – SJIF: Innospace, Morocco (2016): 4.281
Indexcopernicus: (ICV 2016): 88.80
© 2014- 18, IRJCS- All Rights Reserved Page -234
International Research Journal of Computer Science (IRJCS) ISSN: 2393-9842
Issue 05, Volume 5 (May 2018) www.irjcs.com
REFERENCES
1. Yaya Sudarya Triana, Indah Syahputri. Implementation Floyd-Warshall Algorithm for the Shortest Path of
Garage. Vol 3, Issue 2, February 2018.
2. Yuwan Jumaryadi, Tazkiyah Herdi, Riad Sahara. Analysis and Design of KB/TK Bunga Bangsa Islamic School
Information System. International Researc Journal of Computer Science (IRJCS) Issue 04 Volume 5. 2018
3. Stallings, William. Computer Organization & Architecture. Prentice Hall. New Delhi. India. 2008
4. Randal E. Bryant And David R. O’Hallaron. Computer Systems: A Programmer’s Pespective, 3/E (CS:APP3e),
3rd ed. Carnergie Mellon University. Pittsburgh. USA: Pennsylvania. 1998.
5. Brian W. Kernighan, Dennis M. Ritchie. C Programming Language, 2nd ed. Prentice Hall. New Jersey. USA. 1988
6. Camergie Mellon University.(2018). Homepage CMU – Carnergie Mellon University [Online]. Available:
http://www.cs.cmu.edu/afs/cs/academic/class/15213-f05/code/mem/mountain/mountain.c
7. Weik Martin H. A Third Survey of Domestic Electronic Digital Computing Systems. Ballistic Research
Laboratory. Maryland. USA. 1961
8. Stallings, William, Operating Systems, Internals and Design Principles. Prentice Hall. New Delhi. India. 2005
9. Ritchie, Dennis. Unix Manual, 1st Ed. New Jersey. USA. 2008
_________________________________________________________________________________________________
IRJCS: Impact Factor Value – SJIF: Innospace, Morocco (2016): 4.281
Indexcopernicus: (ICV 2016): 88.80
© 2014- 18, IRJCS- All Rights Reserved Page -235