How to make parallel processing rather than serial processing ??
Hello everybody,
I have a little problem with one of my program. I made a plugin for collectd (a stats collector for my servers) but I have a problem to make it run in parallel.
My program gathers stats from logs, so it needs to run in background waiting for any new lines added in the log files.
My problem is that I call my program in a bash script that tails my log files, like this :
The problem is that it does not work very well. So I would like to make the "tail -f" parallel processing directly in my perl program.
Here is the perl program (collection.pl) I'd like to make parallel processing with :
I have seen that parallel processing could be done with fork or something like that but I don't really understand how to do it. Does anyone has an idea of how I could do that ?
Hi All,
I am working on solaris 8 sparc machine with 2 cpu.
I am trying to run my application which generates files. I run multiple instance of the application, but the results don't seem to show as if it were runing parallely.
When i run the application once it takes 12 secs to generate a... (1 Reply)
Hi
I want to run two shell script files parallely. These two scripts are interacting with the database. can any body help on this Pls
Regards
Audippa naidu.M (3 Replies)
Hi
I am looking for some kind of feature in unix that will help me write a script that can invoke multiple processes in parallel. And make sure that the multiple parallel processes complete successfully before I proceed to the next step.
Someone suggested something called timespid or... (6 Replies)
hi i am preparing a set of batches for a set of files sequentially
There is a folder /xyz where all the files reside
now all the files starting with
01 - will be appended for one below other to form a batch batch01
then all the files starting with
02 - will be appended for one below other to... (7 Replies)
Hey, I just wanted to know how many algorithms there are that cannot be accelerated by parallel processing. I know one such algorithm is Euclid's Algorithm (for GCF). does anyone know any other algorithms that cannot be accelerated by pp? if so please list the names and a general sentence of what... (2 Replies)
HI All,
I have scenerio where I need to call sub modules through for loop
for (i=0; i<30 ;i++)
{
..
..
..
subroutine 1;
subroutine 2;
}
I want this to be run in parallel
process1
{
...
...
subroutine 1;
subroutine 2; (0 Replies)
Need urgent help on thread: the goal here is the separtemask will take each image and separate different contours and for each contour in the image it will call handleobject thread. So every for loop will call the handeobject thread. However, object index variable needs to be passed in each... (0 Replies)
Unix OS : Linux 2.6x
Shell type : Korn
Hi all ,
This is a requirement to incorporate parallel processing of a Unix code .
I have two pieces of unix code , one of which will act as a parent process .
This script will invoke multiple ( say four ) instances of the second script at one go... (13 Replies)
Hi,
I am taking up the cue from where I was left in my earlier post ( link given below )
https://www.unix.com/shell-programming-scripting/231107-implement-parallel-processing.html
I actually wanted to know the significance of using the Unix "wait" , which returns
the control from background to... (3 Replies)
I have 10,000 + files, each of which I need to zip using bzip2.
Is ti possible to use bash to create 8 parallel streams sending a new file to be processed from the list when one of the others has finished? (1 Reply)
Discussion started by: garethsays
1 Replies
LEARN ABOUT DEBIAN
collectd::unixsock
Collectd::Unixsock(3pm) User Contributed Perl Documentation Collectd::Unixsock(3pm)NAME
Collectd::Unixsock - Abstraction layer for accessing the functionality by collectd's unixsock plugin.
SYNOPSIS
use Collectd::Unixsock ();
my $sock = Collectd::Unixsock->new ($path);
my $value = $sock->getval (%identifier);
$sock->putval (%identifier,
time => time (),
values => [123, 234, 345]);
$sock->destroy ();
DESCRIPTION
collectd's unixsock plugin allows external programs to access the values it has collected or received and to submit own values. This Perl-
module is simply a little abstraction layer over this interface to make it even easier for programmers to interact with the daemon.
VALUE IDENTIFIERS
The values in the collectd are identified using an five-tuple (host, plugin, plugin-instance, type, type-instance) where only plugin-
instance and type-instance may be NULL (or undefined). Many functions expect an %identifier hash that has at least the members host,
plugin, and type, possibly completed by plugin_instance and type_instance.
Usually you can pass this hash as follows:
$obj->method (host => $host, plugin => $plugin, type => $type, %other_args);
PUBLIC METHODS
$obj = Collectd::Unixsock->new ([$path]);
Creates a new connection to the daemon. The optional $path argument gives the path to the UNIX socket of the "unixsock plugin" and
defaults to /var/run/collectd-unixsock. Returns the newly created object on success and false on error.
$res = $obj->getval (%identifier);
Requests a value-list from the daemon. On success a hash-ref is returned with the name of each data-source as the key and the according
value as, well, the value. On error false is returned.
$res = $obj->getthreshold (%identifier);
Requests a threshold from the daemon. On success a hash-ref is returned with the threshold data. On error false is returned.
$obj->putval (%identifier, time => $time, values => [...]);
Submits a value-list to the daemon. If the time argument is omitted "time()" is used. The required argument values is a reference to an
array of values that is to be submitted. The number of values must match the number of values expected for the given type (see "VALUE
IDENTIFIERS"), though this is checked by the daemon, not the Perl module. Also, gauge data-sources (e. g. system-load) may be "undef".
Returns true upon success and false otherwise.
$res = $obj->listval ()
Queries a list of values from the daemon. The list is returned as an array of hash references, where each hash reference is a valid
identifier. The "time" member of each hash holds the epoch value of the last update of that value.
$res = $obj->putnotif (severity => $severity, message => $message, ...);
Submits a notification to the daemon.
Valid options are:
severity
Sets the severity of the notification. The value must be one of the following strings: "failure", "warning", or "okay". Case does
not matter. This option is mandatory.
message
Sets the message of the notification. This option is mandatory.
time
Sets the time. If omitted, "time()" is used.
Value identifier
All the other fields of the value identifiers, host, plugin, plugin_instance, type, and type_instance, are optional. When given,
the notification is associated with the performance data of that identifier. For more details, please see collectd-unixsock(5).
$obj->flush (timeout => $timeout, plugins => [...], identifier => [...]);
Flush cached data.
Valid options are:
timeout
If this option is specified, only data older than $timeout seconds is flushed.
plugins
If this option is specified, only the selected plugins will be flushed. The argument is a reference to an array of strings.
identifier
If this option is specified, only the given identifier(s) will be flushed. The argument is a reference to an array of identifiers.
Identifiers, in this case, are hash references and have the members as outlined in "VALUE IDENTIFIERS".
$obj->destroy ();
Closes the socket before the object is destroyed. This function is also automatically called then the object goes out of scope.
SEE ALSO collectd(1), collectd.conf(5), collectd-unixsock(5)AUTHOR
Florian octo Forster <octo@verplant.org>
perl v5.14.2 2012-04-02 Collectd::Unixsock(3pm)