Statistics
| Branch: | Tag: | Revision:

root / xseg / peers / user @ ba7ffa08

# Date Author Comment
ba7ffa08 06/05/2013 05:36 pm Filippos Giannakos

sosd: Fix uninitialized variable use.

In break lock, instead of cheking the return value of the rados call, we
erroneously checked an uninitialized local variable.

f153e73c 06/03/2013 05:46 pm Filippos Giannakos

peer.c: Call custom peer finalize with st_threads

fc9a3d39 06/03/2013 05:46 pm Filippos Giannakos

mapperd: Fix signaling bug when load/open fails.

When a map load/open fails, any other threads that tried to get the map during
these operations wait on the map. If any of these operations fail, the cache was
dropped, without signaling any of the waiters. This commit fixes this bug, by...

6ad2d8e5 06/03/2013 05:46 pm Filippos Giannakos

mapperd: Add debug messages for copyup target

7e21df56 06/03/2013 05:46 pm Filippos Giannakos

bench: Fix target to not include null termination.

Request of the target must not be null terminated. Remove null termination from
the requests constructed by peers.

6b11e79a 06/03/2013 05:46 pm Filippos Giannakos

Rename archipelago peers with archip- prefix

a1e35fad 06/03/2013 05:46 pm Filippos Giannakos

mapperd: Add debug message to signal map and put map

dbe9f96d 06/03/2013 05:45 pm Filippos Giannakos

Adjust mt-sosd to the new RADOS lock API.

a7fb19e1 05/17/2013 11:57 am Filippos Giannakos

mapperd: Always sleep before checking request state.
(cherry picked from commit e0f306aa00f5aefa72dc4f607876ee87ddc2ea37)

9783a4f6 05/17/2013 11:57 am Filippos Giannakos

Add wrapper function for ST peerd loop.
(cherry picked from commit d932df7a6a3ae8b17d9e0981fcb3ee2af059324c)

Conflicts:
xseg/peers/user/peer.c

d9f56914 05/17/2013 11:57 am Filippos Giannakos

Fix bug in mapperd.

When signaling map, use signal_broadcast to wake up all waiters instead of just
one, to avoid missing signals when cached is dropped for the map.
(cherry picked from commit 2b91a67a55cdd9b6a16fd54e3e87389aa181a7ee)

cde4c186 05/17/2013 11:57 am Filippos Giannakos

Make peers close stdin when entering daemon mode.
(cherry picked from commit 04ea45339fd0e5a92c3290807805766acc1e7223)

07509a4a 05/17/2013 11:57 am Filippos Giannakos

Remove async unsafe functions from signal handlers
(cherry picked from commit 2d2a24a26ff9f3a7fd651b1c2386fbd31166a5e1)

0cb2fc09 05/07/2013 03:22 pm Alex Pyrgiotis

peer: Move peerd_loop plug out of peer_reqs loop

The plugging of generic_peerd_loop to peerd_loop was falsely done inside
a loop where peer_reqs were initialized. The plugging has now been moved
out of this loop.

601b64fa 04/23/2013 04:39 pm Alex Pyrgiotis

bench: Flush stdout when printing progress results

34dbf8a6 04/18/2013 06:39 pm Alex Pyrgiotis

bench: Fix issuing of read/write requests

Due to no initialization of struct bench, some "ifs" in the code would
show different behavior depending on the junk values they would check.
Now however, there is proper initialization of struct bench.

a80c60b6 04/18/2013 06:39 pm Alex Pyrgiotis

Add progress report for bench

Progress report is turned on by default. It reports every 5% the current
request status.
Also, we now make sure to terminate only if all peer requests are free.

1a2f3688 04/18/2013 06:39 pm Alex Pyrgiotis

bench: Change prefixes of static functions

In this repo, a static helpder function is prefixed with "__". However,
some static helper functions in bench-utils.c where prefixed with a
single underscore ("_"), so we updated their names to be consistent with...

a640985b 04/18/2013 06:39 pm Alex Pyrgiotis

bench: Include bandwidth and IOPS in results

911fec92 03/14/2013 06:29 pm Alex Pyrgiotis

Add a fallback clock for portability reasons

cb5cf301 03/14/2013 06:00 pm Filippos Giannakos

Remove unused stuff and reduce warnings

Remove unused pthread_* stuff and modify variable location to reduce warnings
because of the define-based compilation.

0132045a 03/14/2013 06:00 pm Filippos Giannakos

Split peer request queues.

Each thread has its own peer request queue, frow which it allocates data. If
this queue is empty, it tries to "steal" from the "next" thread. This greatly
reduces lock congestion to the peer request queue.

840248c4 03/14/2013 06:00 pm Filippos Giannakos

Fix peer termination.

Peer checks if all peer requests are free in all thread, and then proceeds to
gracefull shutdown.

Also introduce pthread specific variable, holding the struct thread for each
thread.

e602902e 03/14/2013 06:00 pm Filippos Giannakos

Fix queue size of per thread queue.

9766eebc 03/14/2013 06:00 pm Filippos Giannakos

Add compilation warning about MT and ST_THREADS

ca0d84f8 03/14/2013 06:00 pm Filippos Giannakos

Add check to not respond request if none associated.

Conflicts:
xseg/peers/user/peer.c

e113abc3 03/14/2013 05:51 pm Alex Pyrgiotis

Fix clean option in Makefile

dbce9c59 03/14/2013 12:10 pm Filippos Giannakos

Build only the necessary peers.

9e593ec0 03/13/2013 08:14 pm Alex Pyrgiotis

Fix LFSR spin bug

181d4caa 03/13/2013 06:04 pm Alex Pyrgiotis

Style changes

ce8bfb92 03/13/2013 06:00 pm Alex Pyrgiotis

Add option for read/write ops to hit unique objs

Read/write ops can now use the -to option, instead of the -ts option, to
make each read/write request touch a different object.

478dafae 03/13/2013 03:12 pm Alex Pyrgiotis

Add request cap

Implemented by popular request, the request cap option allows the
benchmarking peer to stop the benchmark earlier, at a given number
of received requests.

994b2e81 03/13/2013 01:52 pm Alex Pyrgiotis

Fix verification full mode

b28fa3e7 03/12/2013 06:53 pm Alex Pyrgiotis

Improve LFSR implementation

Also, prepare the code for the addition of verification support

a6924f16 03/12/2013 06:53 pm Alex Pyrgiotis

Add skeleton for verification in write path

28a16745 03/12/2013 06:53 pm Alex Pyrgiotis

Refactor struct bench and appropriate code paths

Changes:

1. Move flag values (such as pattern, insanity, verify) in a specific
bit-field.
2. Create a struct req_status where the status of requests will be
stored.
3. Tidy up code.

Rationale:

1. For parameters that can have only a few different values, it's an...

17a413b7 03/12/2013 06:53 pm Alex Pyrgiotis

Add partial support for verification

Adds an option to choose between verification modes:

1. meta: On this mode, we write our signature both at the start and the
end of the chunk size. It should be very fast and moderately safe,
due to the fact that corruptions happen it the chunk's edges....

e099873d 03/11/2013 11:52 am Alex Pyrgiotis

Change input option to bench

Since -dp is reserved in peer as defer port number, we change the -dp
option in bench (which stood for "destination port") to -tp, which
stands for "target port".

e252784d 03/11/2013 11:52 am Alex Pyrgiotis

Get correct iodepth

c7109a67 03/11/2013 11:52 am Alex Pyrgiotis

Allow LFSR to be used for sizes smaller than 2^3

4fbcea7d 03/11/2013 11:52 am Alex Pyrgiotis

Minor fixes

29a2d904 03/11/2013 11:52 am Alex Pyrgiotis

Add support for seed values given by the user

A new option has been added (--seed) which allows the user to pre-define
the seed that he/she wants. This has the following effects:

  • The target names are prefixed with the first 9 digits of the seed.
  • LFSR produces a predictable sequence of "random" numbers
d38b3cda 03/11/2013 11:52 am Alex Pyrgiotis

Print more useful results

dc687c07 03/11/2013 11:52 am Alex Pyrgiotis

Make bench snappier when asked to terminate

3da3505f 03/11/2013 11:52 am Alex Pyrgiotis

Fix identation

c297e34a 03/11/2013 11:52 am Alex Pyrgiotis

Fix incorrect reading of "insanity" parameter

58b941b9 03/11/2013 11:52 am Alex Pyrgiotis

Fix LFSR behavior

a2176832 03/11/2013 11:52 am Alex Pyrgiotis

Tweak performance of bench

eda379a3 03/11/2013 11:52 am Alex Pyrgiotis

Fix signal handling of peers

35afde18 03/11/2013 11:52 am Alex Pyrgiotis

Implement most semi-finished functionalities

Summary of new functionalities:

  • Add support for 4 different xseg operations (read, write, info,
    delete).
  • Add support for random I/O patterns with a fast Galois LFSR.
  • Add insanity levels in timers, which allow the user to exclude obscure...
21051060 03/11/2013 11:52 am Alex Pyrgiotis

Increment completed requests of insane timers

Even if a timer is not used for a benchmark, we need to increment its
completed requests since these are needed to calculate how many requests
are left etc.

5957e816 03/11/2013 11:52 am Alex Pyrgiotis

Fix target names and chunk offsets

b39f8ff2 03/11/2013 11:52 am Alex Pyrgiotis

Fix flag handling of struct bench

955151e6 03/11/2013 11:52 am Alex Pyrgiotis

Design the program's skeleton for new features

Bench peer must be able to test all xseg operations in a synchronous or
asynchronous way. Also, it must have a validation mode to sanity-check
if xseg requests are issued properly. Most of the above are present in...

b003d80d 03/11/2013 11:52 am Alex Pyrgiotis

Add utility functions to header file

ee638823 03/11/2013 11:52 am Alex Pyrgiotis

Add an LFSR PRNG for bench

The PRNG introduced by this commit is a Galois-XNOR LFSR, which can
generate unique pseudorandom numbers. Also, seeded with the same
seed, it will produce the same sequence.

This implementation is driven by the needs of XSEG for a blazing fast...

4bd74afe 03/11/2013 11:52 am Alex Pyrgiotis

Make bench send requests faster

d12386ab 03/11/2013 11:52 am Alex Pyrgiotis

Alpha release of bench peer

On this release, the bench peer can measure the total elapsed time
of the benchmark. TODO:

  • Allow bench peer to be multi-threaded.
  • Adjust benchmarking precision, by eliminating or including more
    trivial timers.
  • Measure mean time, standard deviation of requests.
4b114b66 03/11/2013 11:52 am Alex Pyrgiotis

Initial support for xseg ops

0ef9c7ee 03/11/2013 11:52 am Alex Pyrgiotis

Fix segfault, parameters validation

839f875e 03/11/2013 11:52 am Alex Pyrgiotis

Fix missing function declaration

105a8ddd 03/11/2013 11:51 am Alex Pyrgiotis

Simplify port binding code

de4c09bb 03/11/2013 11:51 am Alex Pyrgiotis

Complete unification of thread_loop/peerd_loop

48a66f3b 03/11/2013 11:51 am Alex Pyrgiotis

Fix timers and add them to critical paths

Fixed incorrect handling of elapsed time and used appropriate timers to
benchmark crtical paths.

d9d4b795 03/11/2013 11:51 am Alex Pyrgiotis

Keep naming in peerd_loop consistent

a6a76599 03/11/2013 11:51 am Alex Pyrgiotis

Fix segfault

7498fcb1 03/11/2013 11:43 am Alex Pyrgiotis

Fix segfault

0beaf982 03/11/2013 11:43 am Alex Pyrgiotis

Unify thread loop with peerd_loop

Since peerd_loop with thread_loop don't have many differences between
them, they can be unified in a single loop. TODO is to choose a unified
name for both threads and peers, as well as fault check the
implementation.

8107a952 03/11/2013 11:42 am Alex Pyrgiotis

Add support for custom peer loop

There is a new field in struct peerd called "custom_peerd_loop". If any
peer wants to use its own loop instead of the generic loop, it can plug
it in that field.

15a2f01d 03/11/2013 11:42 am Alex Pyrgiotis

Add timer implementation

This an initial timer implementation. It is not very polished at the
momment and some implementation choices will have to be reviewed later
on.

32cb277c 03/11/2013 11:40 am Alex Pyrgiotis

Add initial support for benchmarking xseg

ba3800e4 03/11/2013 11:40 am Alex Pyrgiotis

Parse and error-check arguments

b782cd3d 03/11/2013 11:39 am Alex Pyrgiotis

Add S_IWUSR permission bit for O_CREAT

In Ubuntu haven't tested it elsewhere yet gcc has a global cflag
called "D_FORTIFY_SOURCE=2" that errs when files are not created
with explicit user permissions. Since files are O_WRONLY, I added
the S_IWUSR permission bit.

0bb5f1fe 02/27/2013 06:12 pm Filippos Giannakos

Add defer support to peers

Add support to peer skeleton to defer requests to another peer, by forwarding
requests to another port.

e3052736 02/27/2013 05:37 pm Filippos Giannakos

Reimplement xseg paths and add xseg_forward

Reimplement xseg paths. Paths are a tool for the administrator to dynamically
alter a running xseg setup, by forcing a request to be submitted to a different
port than the original destination.

xseg_forward, on the other hand, allows a peer to alter the normal path of a...

683e3462 02/25/2013 06:00 pm Filippos Giannakos

Remove dummy, vlmc-xseg, pfiled from peers build.

78204c21 02/12/2013 01:00 pm Filippos Giannakos

Mapper: use merkle hash to calculate name of snapshot

0278caf0 02/08/2013 03:44 pm Filippos Giannakos

Fix compilation warnings

2a29e6c9 01/15/2013 04:06 pm Filippos Giannakos

Fix warning for possibly uninitialized value

74a9fe09 01/15/2013 01:33 pm Filippos Giannakos

Make xsegbd use xseg_reply_info struct

bc1e3fc8 01/14/2013 12:22 pm Filippos Giannakos

add python bindings support to vlmc tool

0863f961 01/11/2013 05:48 pm Filippos Giannakos

Fix wrong mapper op

12ca4a56 01/11/2013 05:48 pm Filippos Giannakos

Add debug messages in vlmcd.

Also fix vlmc, vlmc-xseg tool to send snapshot requests to vlmcd

8dfddb03 01/11/2013 05:48 pm Filippos Giannakos

Add volume freeze functionality for certain ops to vlmcd

38d914a0 01/11/2013 05:48 pm Filippos Giannakos

Fix request resizing in mapper snapshot

3ede03db 01/11/2013 05:48 pm Filippos Giannakos

add snapshot support to vlmc-xseg tool

6225867e 01/11/2013 05:48 pm Filippos Giannakos

add snapshot functionality in xseg-tool

a78589e9 01/11/2013 05:48 pm Filippos Giannakos

add mt-sosd stat before writing in snapshotting

84e44345 01/11/2013 05:48 pm Filippos Giannakos

fix output when stat is successful in snapshot

966c80ba 01/11/2013 05:48 pm Filippos Giannakos

make mapper delete the old object in a snapshot

53ad3759 01/11/2013 05:48 pm Filippos Giannakos

add snapshot support in mt-sosd

40d07cf9 01/11/2013 05:48 pm Filippos Giannakos

add snapshot support in mapperd

c6b15e0e 01/11/2013 04:42 pm Filippos Giannakos

Refactor the build system

0cac87f7 01/09/2013 07:00 pm Filippos Giannakos

Add make install support

16932a7d 01/03/2013 03:29 pm Filippos Giannakos

fix mapper to handle X_OPEN.

Also fix nr_obj in cloned volume

347a7fdc 12/19/2012 11:18 am Filippos Giannakos

change open/close to acquire/release xseg ops. also add handle_open

125df7be 12/19/2012 11:18 am Filippos Giannakos

add support for X_OPEN to vlmcd.

653cccc2 12/19/2012 11:18 am Filippos Giannakos

change open/close to acquire release in mt-sosd

f90af0d4 12/19/2012 11:18 am Filippos Giannakos

change open/close to acquire/release in mt-pfiled

5c88a503 12/12/2012 02:17 pm Filippos Giannakos

make peers use macros for reading args. also remove some peer compilation warnings