collie / accord Goto Github PK
View Code? Open in Web Editor NEWA high-performance coordination service for write-intensive workloads.
Home Page: http://www.osrg.net/accord
A high-performance coordination service for write-intensive workloads.
Home Page: http://www.osrg.net/accord
** Accord project ** NOTE: Now, this project is marked as deprecated, because we've observed that write-intensive workload is much less important than read-intensive workload for coordination service. Please use ZooKeeper. * Overview ---------- - Accord is a coordination service(like ZooKeeper). It features : 1. Accord focuses on write-intensive workloads unlike ZooKeeper. ZooKeeper forwards all write requests to a master server. It can be bottleneck in write-intensive workloads. The below benchmark demonstrates that the write-operation throughput of Accord is much higher than one of ZooKeeper (up to 20 times better throughput at persistent mode, and up to 18 times better throughput at in-memory mode). 2. More flexible transaction support. Not only write, del operations, but also cmp, copy, read operations are supported in transaction operations. 3. In-memory mode and persistent mode support. 4. Message size is unbounded, and partial update is supported. * Project Page ---------- - Getting started / Performance benchmark is avalable from our project page. Please visit http://www.osrg.net/accord * Directory structure ---------- - conductor : Server-side daemon - libacrd : Client-side library - test : Test and benchmark programs. Files in this directory are useful as sample programs of Accord. - include : Header files - lib : Utility library * API Documentation ---------- - Please see include/accord.h or http://www.osrg.net/accord/api.txt - Programs in ACRD_ROOT/test are very useful to understand how to use accord API.
Hello,
I am trying to install and run accord in a single machine (Ubuntu 12.04 X86-64 3.2.0-25-generic) by following the information at http://www.osrg.net/accord/
The server is crashing when the benchmark runs. Below i send the steps taken to install, configure and run accord and the error. I also point some steps that are not in the documentation and i think that must be performed.
Am i doing something wrong, or it is a bug in accord?
Kind Regards,
João Paulo
I have performed the following steps:
sudo aptitude install corosync libcorosync-dev libdb4.8-dev
Then configured /etc/corosync/corosync.conf with the information at https://github.com/collie/sheepdog/wiki/Corosync-config and changed only the IP address to 127.0.0.1
git clone git://github.com/collie/accord.git
cd accord
make
corosync -f (This is missing at the documentation)
conductor/conductor -f -m (also tried with the persistent mode)
test/acrdbench localhost 8 100000 8 sync (sync flag is also missing at the documentation)
When i run the benchmark i get the following error at the conductor (server):
root@cloud12:/home/gsd/accord# conductor/conductor -f /home/gsd/dbaccord
*** longjmp causes uninitialized stack frame ***: conductor/conductor terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7ffbe68cb007]
/lib/x86_64-linux-gnu/libc.so.6(+0x108f7d)[0x7ffbe68caf7d]
/lib/x86_64-linux-gnu/libc.so.6(__longjmp_chk+0x33)[0x7ffbe68caee3]
conductor/conductor[0x4095bc]
conductor/conductor[0x40965b]
conductor/conductor[0x403a8b]
conductor/conductor[0x4091b4]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a)[0x7ffbe7100e9a]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7ffbe68b44bd]
======= Memory map: ========
00400000-0040d000 r-xp 00000000 08:01 8913022 /home/gsd/accord/conductor/conductor
0060c000-0060d000 r--p 0000c000 08:01 8913022 /home/gsd/accord/conductor/conductor
0060d000-0060e000 rw-p 0000d000 08:01 8913022 /home/gsd/accord/conductor/conductor
00834000-0087a000 rw-p 00000000 00:00 0 [heap]
7ffb98000000-7ffb98022000 rw-p 00000000 00:00 0
7ffb98022000-7ffb9c000000 ---p 00000000 00:00 0
7ffb9c0b4000-7ffb9c0c9000 r-xp 00000000 08:01 1048628 /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffb9c0c9000-7ffb9c2c8000 ---p 00015000 08:01 1048628 /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffb9c2c8000-7ffb9c2c9000 r--p 00014000 08:01 1048628 /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffb9c2c9000-7ffb9c2ca000 rw-p 00015000 08:01 1048628 /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffb9c2ca000-7ffb9c30b000 rw-s 00000000 00:12 27194 /run/shm/corosync_zerocopy-4eRPjl (deleted)
7ffb9c30b000-7ffb9c647000 rw-s 00000000 08:01 8913041 /home/gsd/dbaccord/log/__db.005
7ffb9c647000-7ffbdc667000 rw-s 00000000 08:01 8913040 /home/gsd/dbaccord/log/__db.004
7ffbdc667000-7ffbdc6a9000 rw-s 00000000 08:01 8913039 /home/gsd/dbaccord/log/__db.003
7ffbdc6a9000-7ffbdc6aa000 ---p 00000000 00:00 0
7ffbdc6aa000-7ffbdceaa000 rw-p 00000000 00:00 0
7ffbdceaa000-7ffbdceab000 ---p 00000000 00:00 0
7ffbdceab000-7ffbdd6ab000 rw-p 00000000 00:00 0
7ffbdd6ab000-7ffbdd6ac000 ---p 00000000 00:00 0
7ffbdd6ac000-7ffbddeac000 rw-p 00000000 00:00 0
7ffbddeac000-7ffbddead000 ---p 00000000 00:00 0
7ffbddead000-7ffbde6ad000 rw-p 00000000 00:00 0
7ffbde6ad000-7ffbde6ae000 ---p 00000000 00:00 0
7ffbde6ae000-7ffbdeeae000 rw-p 00000000 00:00 0
7ffbdeeae000-7ffbdeeaf000 ---p 00000000 00:00 0
7ffbdeeaf000-7ffbdf6af000 rw-p 00000000 00:00 0
7ffbdf6af000-7ffbdf6b0000 ---p 00000000 00:00 0
7ffbdf6b0000-7ffbdfeb0000 rw-p 00000000 00:00 0
7ffbdfeb0000-7ffbdfeb1000 ---p 00000000 00:00 0
7ffbdfeb1000-7ffbe06b1000 rw-p 00000000 00:00 0
7ffbe06b1000-7ffbe06b2000 ---p 00000000 00:00 0
7ffbe06b2000-7ffbe0eb2000 rw-p 00000000 00:00 0
7ffbe0eb2000-7ffbe0eb3000 ---p 00000000 00:00 0
7ffbe0eb3000-7ffbe16b3000 rw-p 00000000 00:00 0
7ffbe16b3000-7ffbe16b4000 ---p 00000000 00:00 0
7ffbe16b4000-7ffbe1eb4000 rw-p 00000000 00:00 0
7ffbe1eb4000-7ffbe1eb5000 ---p 00000000 00:00 0
7ffbe1eb5000-7ffbe26b5000 rw-p 00000000 00:00 0
7ffbe26b5000-7ffbe26b6000 ---p 00000000 00:00 0
7ffbe26b6000-7ffbe2eb6000 rw-p 00000000 00:00 0
7ffbe2eb6000-7ffbe2eb7000 ---p 00000000 00:00 0
7ffbe2eb7000-7ffbe36b7000 rw-p 00000000 00:00 0
7ffbe36b7000-7ffbe36b8000 ---p 00000000 00:00 0
7ffbe36b8000-7ffbe3eb8000 rw-p 00000000 00:00 0
7ffbe3eb8000-7ffbe3eb9000 ---p 00000000 00:00 0
7ffbe3eb9000-7ffbe46b9000 rw-p 00000000 00:00 0
7ffbe46b9000-7ffbe46ba000 ---p 00000000 00:00 0
7ffbe46ba000-7ffbe4eba000 rw-p 00000000 00:00 0
7ffbe4eba000-7ffbe4ebb000 ---p 00000000 00:00 0
7ffbe4ebb000-7ffbe56bb000 rw-p 00000000 00:00 0
7ffbe56bb000-7ffbe56bc000 ---p 00000000 00:00 0
7ffbe56bc000-7ffbe5ebc000 rw-p 00000000 00:00 0
7ffbe5ebc000-7ffbe5fbc000 rw-s 00000000 00:12 30767 /run/shm/dispatch_buffer-sGpS71 (deleted)
7ffbe5fbc000-7ffbe60bc000 rw-s 00000000 00:12 30767 /run/shm/dispatch_buffer-sGpS71 (deleted)
7ffbe60bc000-7ffbe61bc000 rw-s 00000000 00:12 30766 /run/shm/response_buffer-4dZhKY (deleted)
7ffbe61bc000-7ffbe62bc000 rw-s 00000000 00:12 30765 /run/shm/request_buffer-X3xPmV (deleted)
7ffbe62bc000-7ffbe63bc000 rw-s 00000000 00:12 30759 /run/shm/dispatch_buffer-6kOaCO (deleted)
7ffbe63bc000-7ffbe64bc000 rw-s 00000000 00:12 30759 /run/shm/dispatch_buffer-6kOaCO (deleted)
7ffbe64bc000-7ffbe65bc000 rw-s 00000000 00:12 30758 /run/shm/response_buffer-kerhfL (deleted)
7ffbe65bc000-7ffbe65c1000 r-xp 00000000 08:01 12727653 /usr/lib/libcoroipcc.so.4.0.0
7ffbe65c1000-7ffbe67c0000 ---p 00005000 08:01 12727653 /usr/lib/libcoroipcc.so.4.0.0
7ffbe67c0000-7ffbe67c1000 r--p 00004000 08:01 12727653 /usr/lib/libcoroipcc.so.4.0.0
7ffbe67c1000-7ffbe67c2000 rw-p 00005000 08:01 12727653 /usr/lib/libcoroipcc.so.4.0.0
7ffbe67c2000-7ffbe6975000 r-xp 00000000 08:01 1048594 /lib/x86_64-linux-gnu/libc-2.15.so
7ffbe6975000-7ffbe6b74000 ---p 001b3000 08:01 1048594 /lib/x86_64-linux-gnu/libc-2.15.so
7ffbe6b74000-7ffbe6b78000 r--p 001b2000 08:01 1048594 /lib/x86_64-linux-gnu/libc-2.15.so
7ffbe6b78000-7ffbe6b7a000 rw-p 001b6000 08:01 1048594 /lib/x86_64-linux-gnu/libc-2.15.so
7ffbe6b7a000-7ffbe6b7f000 rw-p 00000000 00:00 0
7ffbe6b7f000-7ffbe6b85000 r-xp 00000000 08:01 12727672 /usr/lib/libcpg.so.4.1.0
7ffbe6b85000-7ffbe6d84000 ---p 00006000 08:01 12727672 /usr/lib/libcpg.so.4.1.0
7ffbe6d84000-7ffbe6d85000 r--p 00005000 08:01 12727672 /usr/lib/libcpg.so.4.1.0
7ffbe6d85000-7ffbe6d86000 rw-p 00006000 08:01 12727672 /usr/lib/libcpg.so.4.1.0
7ffbe6d86000-7ffbe6ef2000 r-xp 00000000 08:01 12714645 /usr/lib/x86_64-linux-gnu/libdb-5.1.so
7ffbe6ef2000-7ffbe70f2000 ---p 0016c000 08:01 12714645 /usr/lib/x86_64-linux-gnu/libdb-5.1.so
7ffbe70f2000-7ffbe70f8000 r--p 0016c000 08:01 12714645 /usr/lib/x86_64-linux-gnu/libdb-5.1.so
7ffbe70f8000-7ffbe70f9000 rw-p 00172000 08:01 12714645 /usr/lib/x86_64-linux-gnu/libdb-5.1.so
7ffbe70f9000-7ffbe7111000 r-xp 00000000 08:01 1048618 /lib/x86_64-linux-gnu/libpthread-2.15.so
7ffbe7111000-7ffbe7310000 ---p 00018000 08:01 1048618 /lib/x86_64-linux-gnu/libpthread-2.15.so
7ffbe7310000-7ffbe7311000 r--p 00017000 08:01 1048618 /lib/x86_64-linux-gnu/libpthread-2.15.so
7ffbe7311000-7ffbe7312000 rw-p 00018000 08:01 1048618 /lib/x86_64-linux-gnu/libpthread-2.15.so
7ffbe7312000-7ffbe7316000 rw-p 00000000 00:00 0
7ffbe7316000-7ffbe7338000 r-xp 00000000 08:01 1048599 /lib/x86_64-linux-gnu/ld-2.15.so
7ffbe735e000-7ffbe736a000 rw-s 00000000 08:01 8913042 /home/gsd/dbaccord/log/__db.006
7ffbe736a000-7ffbe7426000 rw-s 00000000 08:01 8913038 /home/gsd/dbaccord/log/__db.002
7ffbe7426000-7ffbe742c000 rw-s 00000000 08:01 8913037 /home/gsd/dbaccord/log/__db.001
7ffbe742c000-7ffbe752c000 rw-s 00000000 00:12 30757 /run/shm/request_buffer-qVCwSH (deleted)
7ffbe752c000-7ffbe7531000 rw-p 00000000 00:00 0
7ffbe7532000-7ffbe7534000 rw-s 00000000 00:12 30764 /run/shm/control_buffer-ooXuZR (deleted)
7ffbe7534000-7ffbe7536000 rw-s 00000000 00:12 30756 /run/shm/control_buffer-56GTvE (deleted)
7ffbe7536000-7ffbe7538000 rw-p 00000000 00:00 0
7ffbe7538000-7ffbe7539000 rAborted
I would like to point out that identifiers like "__ACCORD_H__
" and "__list_add
" do not fit to the expected naming conventions of the C/C++ language standard.
Identifiers like "event_handler_t
" and "work_func_t
" tamper with the POSIX name space.
Would you like to adjust your selection for unique names?
There are a few other interesting technologies to use as storage backend which may provide better performance in contrast to BDB:
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.