xqgex / numa_black-box Goto Github PK
View Code? Open in Web Editor NEWBlack-box Concurrent Data Structures for NUMA Architectures
License: MIT License
Black-box Concurrent Data Structures for NUMA Architectures
License: MIT License
@xqgex Thanks for the code & comments! A great complement to the original paper.
However my server can compile the program but always encounter either SIGSEGV or SIGABRT. Any possible fixes to that?
Best,
X.J.
[email protected]
CPU: 2 * Intel(R) Xeon(R) Gold 6240M CPU @ 2.60GHz
RAM: 6 * 32GB DDR4
OS: Ubuntu 18.04.3 LTS
GDB log:
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /root/xuyangjin/NUMA_Black-Box-master/myprogram
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Analyzing your machine...
Nodes (physical cpu's): 2
Cores per node: 36
Hyperthreading: ON
Example:
Node #1 Node #2
╔═══════╦═══════╦═══════╦═══════╗ ╔═══════╦═══════╦═══════╦═══════╗
║ Core ║ Core ║ Core ║ Core ┣━━━━┫ Core ║ Core ║ Core ║ Core ║
╟───────╫───────╫───────╫───────╊━━━━╉───────╫───────╫───────╫───────╢
║ Cache ║ Cache ║ Cache ║ Cache ┣━━━━┫ Cache ║ Cache ║ Cache ║ Cache ║
╟───────╨───────╨───────╨───────╢ ╟───────╨───────╨───────╨───────╢
║ Cache ║ ║ Cache ║
╚═════════════┳━┳━┳═════════════╝ ╚═════════════┳━┳━┳═════════════╝
┃ ┃ ┃ ┃ ┃ ┃
┌─────────────┺━┻━┹─────────────┐ ┌─────────────┺━┻━┹─────────────┐
│ Memory │ │ Memory │
└───────────────────────────────┘ └───────────────────────────────┘
Press Any Key to Start Simulation
[New Thread 0x7ffff77c4700 (LWP 57725)]
[New Thread 0x7ffff6fc3700 (LWP 57726)]
[New Thread 0x7ffff67c2700 (LWP 57730)]
[New Thread 0x7ffff5fc1700 (LWP 57731)]
[New Thread 0x7ffff57c0700 (LWP 57732)]
[New Thread 0x7ffff4fbf700 (LWP 57733)]
[New Thread 0x7fff9ffff700 (LWP 57734)]
[New Thread 0x7fff9f7fe700 (LWP 57735)]
[New Thread 0x7fff9effd700 (LWP 57736)]
[New Thread 0x7fff9e7fc700 (LWP 57737)]
[New Thread 0x7fff9dffb700 (LWP 57738)]
[New Thread 0x7fff9d7fa700 (LWP 57739)]
[New Thread 0x7fff9cff9700 (LWP 57740)]
[New Thread 0x7fff7bfff700 (LWP 57741)]
Thread 4 "myprogram" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff67c2700 (LWP 57730)]
0x0000555555558671 in appendToLog (n=12, batch=0x7fffaa802d58) at NUMAbb.c:737
737 strcpy(loopEntry->op,batch[i]->slot.op);
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /root/xuyangjin/NUMA_Black-Box-master/myprogram
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Analyzing your machine...
Nodes (physical cpu's): 2
Cores per node: 36
Hyperthreading: ON
Example:
Node #1 Node #2
╔═══════╦═══════╦═══════╦═══════╗ ╔═══════╦═══════╦═══════╦═══════╗
║ Core ║ Core ║ Core ║ Core ┣━━━━┫ Core ║ Core ║ Core ║ Core ║
╟───────╫───────╫───────╫───────╊━━━━╉───────╫───────╫───────╫───────╢
║ Cache ║ Cache ║ Cache ║ Cache ┣━━━━┫ Cache ║ Cache ║ Cache ║ Cache ║
╟───────╨───────╨───────╨───────╢ ╟───────╨───────╨───────╨───────╢
║ Cache ║ ║ Cache ║
╚═════════════┳━┳━┳═════════════╝ ╚═════════════┳━┳━┳═════════════╝
┃ ┃ ┃ ┃ ┃ ┃
┌─────────────┺━┻━┹─────────────┐ ┌─────────────┺━┻━┹─────────────┐
│ Memory │ │ Memory │
└───────────────────────────────┘ └───────────────────────────────┘
Press Any Key to Start Simulation
[New Thread 0x7ffff77c4700 (LWP 57743)]
[New Thread 0x7ffff6fc3700 (LWP 57744)]
[New Thread 0x7ffff67c2700 (LWP 57745)]
[New Thread 0x7ffff5fc1700 (LWP 57746)]
[New Thread 0x7ffff57c0700 (LWP 57747)]
[New Thread 0x7ffff4fbf700 (LWP 57748)]
[New Thread 0x7fff9ffff700 (LWP 57749)]
[New Thread 0x7fff9f7fe700 (LWP 57750)]
[New Thread 0x7fff9effd700 (LWP 57751)]
[New Thread 0x7fff9e7fc700 (LWP 57752)]
[New Thread 0x7fff9dffb700 (LWP 57753)]
[New Thread 0x7fff9d7fa700 (LWP 57754)]
[New Thread 0x7fff9cff9700 (LWP 57755)]
[New Thread 0x7fff7bfff700 (LWP 57756)]
myprogram: ../nptl/pthread_mutex_lock.c:79: __pthread_mutex_cond_lock: Assertion `mutex->__data.__owner == 0' failed.
[New Thread 0x7fff7b7fe700 (LWP 57757)]
Thread 8 "myprogram" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff9ffff700 (LWP 57749)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.