IAIK/drama

Always exiting with: Couldn't find set after 10 tries, giving up, sorry!

Closed this issue · 3 comments

I tried your tool, but was not able to obtain the correct values. I've tried with different allocation sizes and even with different sets, althought I was sure to know which value to provide.

The README states that "the code contains hardcoded addresses and thresholds that are specific to [your] systems". Are there values I can tweak to get better results? If yes, which?

Currently the program quits always with Couldn't find set after 10 tries, giving up, sorry! or (seldom) with a std::bad_array_new_length exception. I didn't try to debug it and can't provide further information on it right now, but If you are interested to resolve this issue, I could provide additional information on my test system, RAM organization etc.

In this code there shouldn't be any hardcoded values left.

How is your system configuration: number of CPUs, CPU model, DIMMs, amount of RAM?
The system should be quite to get good results, i.e. no other processes running (especially nothing like audio/video).

The tests were run on a Lenovo Thinkpad X220 sandy-bridge notebook with Intel Core i5-2540M CPU.
Hyperthreading and all energy-saving features I could find were disabled in the BIOS.

During the test just some basic system-applications were running like gdm -- no audio/video or other user-applications.

The system is equipped with 8GiB of main memory: 2 x 4GiB Samsung DIMMs (M471B5273EB0-CK0).

I started the tests with e.g. taskset 0x1 sudo ./measure -p 0.8 -s 16.

[damian@Lenovo-X220 re]$ sudo dmidecode -t memory
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.

Handle 0x0005, DMI type 16, 15 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: None
    Maximum Capacity: 16 GB
    Error Information Handle: Not Provided
    Number Of Devices: 2

Handle 0x0006, DMI type 17, 28 bytes
Memory Device
    Array Handle: 0x0005
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: SODIMM
    Set: None
    Locator: ChannelA-DIMM0
    Bank Locator: BANK 0
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: Samsung
    Serial Number: 9791B50C
    Asset Tag: 9876543210
    Part Number: M471B5273EB0-CK0  
    Rank: Unknown

Handle 0x0007, DMI type 17, 28 bytes
Memory Device
    Array Handle: 0x0005
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: SODIMM
    Set: None
    Locator: ChannelB-DIMM0
    Bank Locator: BANK 2
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: Samsung
    Serial Number: 9791B567
    Asset Tag: 9876543210
    Part Number: M471B5273EB0-CK0  
    Rank: Unknown
[damian@Lenovo-X220 re]$ lscpu
Architektur:           x86_64
CPU Operationsmodus:   32-bit, 64-bit
Byte-Reihenfolge:      Little Endian
CPU(s):                2
Liste der Online-CPU(s):0,1
Thread(s) pro Kern:    1
Kern(e) pro Socket:    2
Sockel:                1
NUMA-Knoten:           1
Anbieterkennung:       GenuineIntel
Prozessorfamilie:      6
Modell:                42
Modellname:            Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz
Stepping:              7
CPU MHz:               2600.203
Maximale Taktfrequenz der CPU:3300,0000
Minimale Taktfrequenz der CPU:800,0000
BogoMIPS:              5185.15
Virtualisierung:       VT-x
L1d Cache:             32K
L1i Cache:             32K
L2 Cache:              256K
L3 Cache:              3072K
NUMA-Knoten0 CPU(s):   0,1
Markierungen:          fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid xsaveopt

It would probably require some more tweaking of the parameters to make it work on that machine. Maybe a smaller number of sets and a higher number of measurements.