Thomas Preud'homme
f1b3174af3
Fix various bugs in log creation and parsing
...
* Force english locales (esp. for numeric values)
* Handle french and english numeric values
* Handle absence of useless_prod log
* Handle unique cache hierarchy
2011-02-24 21:00:09 +01:00
Thomas Preud'homme
ff7c38da55
[commtech] Display misses of L1 cache
...
- Remove infos about last level cache
+ Add misses of L1 cache
2011-01-28 23:59:57 +01:00
Thomas Preud'homme
7d7ad0c46a
[commtech] Make WORDS_PER_BUF indep of BUF_SIZE.
...
The number of data sent must be independent of the buffer size chosen
by each algorithm.
2011-01-28 04:56:44 +01:00
Thomas Preud'homme
b1316fb8a4
[commtech] Use param variable for matrice calc.
...
Matrice calculation library should not take parameter value 16 hardcoded
but use the value of the param variable.
2011-01-25 17:27:07 +01:00
Thomas Preud'homme
aef40ff651
[commtech] Fix cache line size
...
Cache line size in current processors (at least the one used for tests:
cerclon) is 64 bytes, not 128. Thus modifying the declaration in
commtech.h
2011-01-25 17:25:38 +01:00
Thomas Preud'homme
c3aad28ad5
[commtech] Add calculation method
...
Add a calculation method which add the value of the first integer of
n consecutive cache lines and write the results in one of the integer of
these cache lines. Next calculation uses the next n consecutives cache
lines and write the result in the next integer.
2011-01-25 17:24:53 +01:00
Thomas Preud'homme
975411a824
Split CSQ in 2 communication techniques.
...
* Divide CSQ in 2 communication techniques: one with 2 slots (as in
BatchQueue aka c_cache) and one with 64 slots (as in the article)
* Rename fake communication technique in none communication technique
and disable any activity (send no longer does anything)
2011-01-25 17:24:53 +01:00
Thomas Preud'homme
5eb7fb50c7
[commtech] CSQ use memcpy in dequeue for fairness
...
Paper about CSQ uses memcpy in enqueue and dequeue. Although it is not
possible to use memcpy in enqueue because of current API, it is possible
to use memcpy in dequeue, hence this commit.
2011-01-19 12:37:14 +01:00
Thomas Preud'homme
7db514a706
[commtech] Fix time metric pattern
...
time metric pattern need to include dots and several elements as a time
is typically of the form 42.42424242
2011-01-16 17:30:00 +01:00
Thomas Preud'homme
1867515152
[commtech] Remove pipe_comm to produce 50000000 l
...
Multiply by 10 the number of cache line send from the producer to the
consumer to have a more accurate mean. This require excluding pipe_comm
as this bench is way too slow to send so much data.
2011-01-16 17:27:21 +01:00
Thomas Preud'homme
35a81bb736
[commtech] Place volatile on the right qualifier.
2011-01-13 14:58:13 +01:00
Thomas Preud'homme
f8ef047808
Remove obsolete TODO.
2011-01-03 11:40:23 +01:00
Thomas Preud'homme
2d879dc3fc
[commtech] Fix idx test in c_cache technique.
...
c_cache watching status value when idx % BUF_SIZE != 0 instead of when
it's equal zero.
2011-01-03 11:35:42 +01:00
Thomas Preud'homme
9f5fb833d7
[commtech] Remove obsolete pattern for total time.
2011-01-03 11:34:47 +01:00
Thomas Preud'homme
5682581335
[commtech bench] Fix the zero test
2010-10-14 00:01:32 +02:00
Thomas Preud'homme
6c2868e20c
[commtech bench] Take the mean over 10 run.
2010-10-13 23:57:58 +02:00
Thomas Preud'homme
006b1b1d94
Simplify and rewrite comm API.
2010-10-01 18:57:46 +02:00
Thomas Preud'homme
c5507590aa
Default to $CWD in all case in parsing.sh
2010-08-12 05:11:46 +02:00
Thomas Preud'homme
6899dea515
Allow overriding barriereList and commList
2010-05-18 09:34:25 +02:00
Thomas Preud'homme
e49eaecf18
Allow specifiying the log directory
2010-05-18 09:34:15 +02:00
Thomas Preud'homme
9af26178ba
Add shell options to local function params
...
This requires to switch from bash to sh
2010-05-18 09:34:12 +02:00
Thomas Preud'homme
55d2d70b6e
Only exclude from log data less or equal than 0
2010-05-15 22:32:35 +02:00
Thomas Preud'homme
479b41d262
Put main code in function main()
2010-05-15 19:58:53 +02:00
Thomas Preud'homme
b83f592689
Create pdfs in images directory
2010-05-15 19:57:38 +02:00
Thomas Preud'homme
fe09f9d2e9
Don't create gnuplot file with no body
2010-05-15 19:46:08 +02:00
Thomas Preud'homme
38c7daee00
Remove remaining references to multicore.gnuplot
2010-05-15 19:25:20 +02:00
Thomas Preud'homme
14d314a7b2
Generate images in images directory
2010-05-15 17:09:41 +02:00
Thomas Preud'homme
fde98f1793
Update parsing.sh compatibility to gnuplot 4.4
2010-05-15 16:40:34 +02:00
Thomas Preud'homme
ad804e4a5a
[comm tech bench] 1 gnuplot per graph
...
- Refactor parsing.sh to have one gnuplot file per graph
- Change the set style data from lines to linespoints
- Add one title per series of point (one for each every) in dat headers
2010-02-25 17:21:45 +01:00
Thomas Preud'homme
baff7d6b6e
[Comm tech bench] Some parsing.sh debug
...
- Correct some gnuplot "every" misuse
- Don't skip 2 lines for useless_loop
- Try to deal with xticlabels => Need a refactoring to have 1 gnuplot
file per output
2010-02-23 11:35:25 +01:00
Thomas Preud'homme
31a2e59227
histo + lines (only .dat are ready)
2009-07-28 01:16:11 +02:00
Thomas Preud'homme
69417b1cfa
Intermediate parsing.sh (1)
2009-07-08 18:58:18 +02:00
Thomas Preud'homme
19ef1d98f2
commtechs: Add bench_ before bench name
2009-07-08 18:42:51 +02:00
Thomas Preud'homme
d38f9150b2
commtechs: Make legend looks nicer s/mem/Memory/
2009-07-08 18:33:32 +02:00
Thomas Preud'homme
5e3a7f6ce0
commtechs: BUGFIX wait threads to be initialized
2009-07-07 16:08:00 +02:00
Thomas Preud'homme
97fb64709f
commtech: Add a TODO list
2009-07-07 16:00:51 +02:00
Thomas Preud'homme
c99d8be100
commtechs: BUGFIX deadlock in thread init
2009-07-07 15:56:20 +02:00
Thomas Preud'homme
60214d62f0
commtechs: BUGFIX in seq usage
2009-07-07 14:32:22 +02:00
Thomas Preud'homme
06e1331dbb
commtechs BUGFIX: wrong varname (nb_useless_loop)
...
nb_useless_loop has been renamed in argTypeProd but one usage of
nb_useless_loop has remained in lancement.sh
2009-07-06 17:19:15 +02:00
Thomas Preud'homme
3c00b5727e
commtech: calc_mat takes 16 as argument
2009-07-01 16:25:36 +02:00
Thomas Preud'homme
698341b99e
commtech: Update usage help
2009-07-01 03:10:38 +02:00
Thomas Preud'homme
415004fb4b
commtech: Update usage help
2009-07-01 02:45:28 +02:00
Thomas Preud'homme
3341546c75
commtech: calc lib take 1 argument on command line
2009-07-01 02:36:11 +02:00
Thomas Preud'homme
7a1610961c
commtech: BUGFIX unwanted optimization
...
Replace prod += 42 by prod += fourty_two where fourty_two is a volatile
variable to avoid replacement of the loop into a prod += 42 * nb_loop
2009-07-01 02:34:50 +02:00
Thomas Preud'homme
243d8810f1
commtech: avoid a double free corruption
...
Remove srand and rand function call as they generates double free
corruption (???)
2009-07-01 01:49:16 +02:00
Thomas Preud'homme
e90348b54c
commtech: BUFFIX in freeing pages
...
Don't try to free the middle of an allocation
2009-07-01 01:48:13 +02:00
Thomas Preud'homme
ba13c18af7
commtech: Free pages when jikes barrier ends
2009-07-01 00:45:19 +02:00
Thomas Preud'homme
e04818645a
commtech: Add a new calculation method
...
This calculation performs only a loop and avoid cache pollution
2009-06-30 22:37:55 +02:00
Thomas Preud'homme
c98db4b4ba
commtech: do_calc() return a void **
...
This respect what we claim to send to the send() function and allow to
reduce the FAKE_NURSERY_START. Thus we are sure gcc won't optimize the
second part of the if in include/jikes_barrier_comm.h
2009-06-30 22:35:11 +02:00
Thomas Preud'homme
7bfc46db78
commtech: Delete pages free
...
Pages cannots be freed as fast as they are allocated, so this whole
mecanism can only delay the kernel panic. It's wiser to exit badly if
too much memory is consumed
2009-06-30 22:32:59 +02:00
Thomas Preud'homme
a9c71bf5d8
commtechs: Replace the test by a nicer shell trick
2009-06-25 18:00:02 +02:00
Thomas Preud'homme
33614392cd
No need to move the set -u
2009-06-25 17:40:42 +02:00
Thomas Preud'homme
d646451091
commtechs: We can launch without LD_LIBRARY_PATH
2009-06-25 17:29:44 +02:00
Thomas Preud'homme
a29aafe25e
Makefile is able to use papi libs not installed
2009-06-25 16:44:46 +02:00
Thomas Preud'homme
6b9777cb9b
Align shared_mem and initial jikes buffer
2009-06-25 14:01:18 +02:00
Thomas Preud'homme
c9323cd901
BUGFIX: Fix a possible deadlock if an error occurs
2009-06-25 13:47:50 +02:00
Thomas Preud'homme
177e548efe
commtechs benchs: fake_comm perform the writes
2009-06-24 23:35:58 +02:00
Thomas Preud'homme
2fe89da8a2
free memory after 100 Mo allocated
2009-06-24 23:26:51 +02:00
Thomas Preud'homme
8f0aecedec
comtechs bench: Better management of errors
2009-06-24 22:25:28 +02:00
Thomas Preud'homme
72db76b9fa
commtechs bench: Separate bench in 2 benchs
2009-06-24 20:14:50 +02:00
Thomas Preud'homme
b58d18cc5d
commtechs bench: Add title and legends
2009-06-24 20:14:24 +02:00
Thomas Preud'homme
ec4bd91021
commtechs bench: start y at 1
2009-06-24 20:11:58 +02:00
Thomas Preud'homme
74a0065616
commtechs bench: Add execute rights on parsing.sh
2009-06-24 18:28:27 +02:00
Thomas Preud'homme
737056ada1
commtechs bench: Logarithmic metric
2009-06-24 18:27:40 +02:00
Thomas Preud'homme
e9dc20ecd8
commtechs bench: time per loop + time per write
2009-06-24 18:18:05 +02:00
Thomas Preud'homme
7177f1c84d
Disable debugging info in compilation
2009-06-24 00:53:31 +02:00
Thomas Preud'homme
34faada5fe
commtechs: Correctly parse outputs
2009-06-24 00:53:13 +02:00
Thomas Preud'homme
934790a6d9
commtechs bench: Print time information
2009-06-23 14:46:00 +02:00
Thomas Preud'homme
bc3c66027b
Display total time
2009-06-23 13:10:04 +02:00
Thomas Preud'homme
857a764485
commtechs bench: Add parsing of logs
2009-06-23 12:51:24 +02:00
Thomas Preud'homme
f8c2be9478
commtech: -s don't take an argument
2009-06-23 12:31:48 +02:00
Thomas Preud'homme
e39c05664a
comm lib have their own directory as calc libs
2009-06-23 12:30:49 +02:00
Thomas Preud'homme
cc1bde60c9
commtech: Add fake_comm in lancement.sh script
2009-06-23 11:57:25 +02:00
Thomas Preud'homme
7b36e81b40
commtech: Currently no L2 shared needs no -s
2009-06-23 11:56:22 +02:00
Thomas Preud'homme
a590ecca09
commtechs bench: calculation init takes an arg
2009-06-19 21:15:23 +02:00
Thomas Preud'homme
f4b3904541
commtechs bench: add calc_mat calculation lib
...
* Add a matrice calculation as one of the possible calculation
* Modify the makefile to permit calculation lib compilation
* Reorganize the makefile to be able to execute the default target
2009-06-19 20:53:34 +02:00
Thomas Preud'homme
f9128c0348
commtechs bench: Addresses are calculated
2009-06-19 13:27:08 +02:00
Thomas Preud'homme
037895a73b
commtechs bench: Ready to bench
...
* Add a script to launch all binaries
* add a logclean target to Makefile
* git ignore logs
2009-06-18 22:16:29 +02:00
Thomas Preud'homme
dc6cd83ac1
commtechs bench: BUGFIX in options parsing
...
* nb_prod was tested with nb_cache_lines
* buf_size is unused => removed
* nb_cache_line => nb_bufs_sent
2009-06-18 22:10:15 +02:00
Thomas Preud'homme
e3b01f9357
commtechs bench: Reflect changes of papihighlevel
...
* commit 0ab6aa7576ac5ccdd9d0f99630016a2be87993b3 changed the API of
print_result
2009-06-18 18:39:42 +02:00
Thomas Preud'homme
d8b88b0e7f
commtech bench: BUGFIX of initialization
...
* Initialization can be blocking
2009-06-18 18:33:12 +02:00
Thomas Preud'homme
274f3cfd1b
communication techniques bench: refactoring (2)
...
Main changes:
* Better separation of what is common from what is specific to a
communication technique
* Consumer wait initialization of all producer threads
2009-06-18 15:55:20 +02:00
Thomas Preud'homme
b5575aa710
communication techniques bench: add c_cache_comm
2009-06-17 19:18:38 +02:00
Thomas Preud'homme
ebbb03f65e
communication techniques bench: BUGFIX
...
* -s really make the threads to be on a shared cache
2009-06-17 19:12:22 +02:00
Thomas Preud'homme
b522ce373f
communication techniques bench: typo
2009-06-17 18:22:03 +02:00
Thomas Preud'homme
4cdee1503e
communication techniques bench: refactoring (1)
...
Main changes:
* change library initialization: initialization is done with
init_library once and init_thread_comm by each thread
* cont is now directly accessed by main
* list of struct communication_assoc -> array of struct thread_comm
* struct communication_channel -> struct comm_channel
2009-06-17 18:15:16 +02:00
Thomas Preud'homme
68589566a7
Communication techniques bench: add fake comm
2009-06-17 15:47:12 +02:00
Thomas Preud'homme
3059605ed4
Communication techniques bench: add jikes barrier
2009-06-17 15:46:22 +02:00
Thomas Preud'homme
0a4da54fec
Communication techniques bench: act more like a WB
...
* Send addresses of place in memory where another addresses has been
stored
2009-06-16 13:22:08 +02:00
Thomas Preud'homme
85f383fd7d
Communication techniques bench: ignore more files
...
* Ignore specific_comm.h symlink as it changes for each different target
2009-06-16 13:05:14 +02:00
Thomas Preud'homme
09bff9869e
communication technique benchs: We send addresses
...
* uintptr_t -> void *
* main send addresses where it has written something in
2009-06-16 12:58:30 +02:00
Thomas Preud'homme
12494e2fbc
More uniformity in communication techniques bench
...
* Only use 2 * BUF_SIZE bytes for shared_memory
2009-06-12 00:44:52 +02:00
Thomas Preud'homme
02db9b77f6
Bug in communication techniques bench
...
* prod_idx and cons_idx aren't declared volatile so compiler could
sur-optimize access to these variable and lead to a deadlock
2009-06-12 00:39:25 +02:00
Thomas Preud'homme
471fdef61e
Bug in communication techniques bench
...
* producers can finish before consumer and thus free the thread-local
storage they have which could lead to sigsegv from consumer
2009-06-12 00:34:33 +02:00
Thomas Preud'homme
e6912c4048
New technique in communication techniques bench
...
* shared_mem become shared_mem_opt
* Apparition of shared_mem (no optimisation)
2009-06-11 23:42:15 +02:00
Thomas Preud'homme
91c3ce6ca4
Fix in communication techniques bench
...
* Producers now wait consumer when needed
2009-06-11 23:41:39 +02:00
Thomas Preud'homme
7e939d50da
Fix in communication techniques bench
...
* SHARED_MEM_SPACE is now based on BUF_SIZE
2009-06-11 23:35:41 +02:00
Thomas Preud'homme
44aacb978e
Add a naive L2 shared option for comm techs bench
2009-06-10 23:30:24 +02:00
Thomas Preud'homme
cc7da2e459
Let the choice of the path to papihighlevel
...
* Introduce 3 new variables:
- LOCALDIR: base directory for looking after papihighlevel
- PAPIHIGHLEVELINCDIR: include directory in $(LOCALDIR)
- PAPIHIGHLEVELLIBDIR: library directory in $(LOCALDIR)
2009-06-10 11:16:11 +02:00
Thomas Preud'homme
9b4388a964
Add benchs to compare communication techniques
2009-06-10 09:58:50 +02:00