Implement parallel processing


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Implement parallel processing
# 1  
Old 07-18-2013
Implement parallel processing

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 ,and each of these instances will run parallely , exclusive of the status of the other process.

How will I implement this logic ? What aspects must I consider while designing this kind of relationship ?
Please guide me on this .


Thanks
Kumarjit
# 2  
Old 07-18-2013
You can use a for loop and put the same job with different parameter to background
# 3  
Old 07-19-2013
No , loops would make the execution sequential, because unless the process within a SINGLE loop ietration completes , the control cannot be passed back to the shell prompt for the next iteration processing to commence.

What I want is :
Start instance 1 , immediately start instance 2 and do not wait for the exit status of instance 1 .
SIMULTANEOUS PROCESSING . Not sequential .
Similar to the "tee" command , process input and write to a file at one go.

Thanks
Kumarjit.
# 4  
Old 07-19-2013
Quote:
Originally Posted by kumarjt
No , loops would make the execution sequential, because unless the process within a SINGLE loop ietration completes , the control cannot be passed back to the shell prompt for the next iteration processing to commence.

What I want is :
Start instance 1 , immediately start instance 2 and do not wait for the exit status of instance 1 .
SIMULTANEOUS PROCESSING . Not sequential .
Similar to the "tee" command , process input and write to a file at one go.

Thanks
Kumarjit.
Is this a homework assignment? If not, please explain why you need to do this.

If you're going to ignore our suggestions without understanding what was said, we'll quickly decide to spend our time working with people who will pay attention to our suggestions.

Starting a process in the background (AKA starting a process asynchronously) in a loop will allow you to run x instances simultaneously if you go through the loop x times.
# 5  
Old 07-19-2013
best place to start is 'man fork' if background process does not suit your need
# 6  
Old 07-19-2013
Quote:
Originally Posted by Don Cragun
Is this a homework assignment? If not, please explain why you need to do this.

If you're going to ignore our suggestions without understanding what was said, we'll quickly decide to spend our time working with people who will pay attention to our suggestions.

Starting a process in the background (AKA starting a process asynchronously) in a loop will allow you to run x instances simultaneously if you go through the loop x times.
Does any of the wordings in my original post give you the feeling that I am seeking help for a HOMEWORK ASSIGNMENT ? It soley a need out of my profession , and if I had even the most basic idea about how to set up asynchronous processing feature (processing at the background or even where to start my search from) , I wouldnt even have taken the pain scribbing a single word for this issue here in this forum .

@rajamadhavan : Thanks for the lead , will take it here-on .

Regards
Kumarjit.
# 7  
Old 07-19-2013
First of all have some sensible logic.

It is not possible to launch many programs SIMULTANEOUSLY from a single Terminal!

However with VERY small increments in time one can launch as many copies of similar or differing scripts and hope that the OS multi(tasking/threading) takes care of the rest.

Starter example:-

Code:
#!/bin/bash
xterm -e /full/path/to/somescript.sh &
xterm -e /full/path/to/some_other_script.sh &
# NOTE the "&" character! Google is your friend here.
x=0
while true
do
        echo "Doing a loop number, $x here..."
        x=$[ ( $x + 1 ) ]
done

This will launch "somescript.sh" in a separate terminal window and "some_other_script.sh" in another terminal window whilst carrying on with its own work!

There is a caveat to this method but I suspect you'll never come across it...

Last edited by wisecracker; 07-19-2013 at 10:21 AM.. Reason: Typos
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parallel processing

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

2. Shell Programming and Scripting

Parallel processing - continued

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)
Discussion started by: kumarjt
3 Replies

3. Programming

Parallel processing pthread

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)
Discussion started by: temursalin
0 Replies

4. Shell Programming and Scripting

Parallel processing in bash?

Hi Say I am interested in processing a big data set over shell, and each process individually takes a long time, but many such processes can be pipe-lined, is there a way to do this automatically or efficiently in shell? For example consider pinging a list addresses upto 5 times each. Of... (5 Replies)
Discussion started by: jamie_123
5 Replies

5. Shell Programming and Scripting

PARALLEL PROCESSING IN PERL

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)
Discussion started by: gvk25
0 Replies

6. Shell Programming and Scripting

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... (0 Replies)
Discussion started by: Samb95
0 Replies

7. Shell Programming and Scripting

parallel processing

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)
Discussion started by: mad_man12
7 Replies

8. Shell Programming and Scripting

Need Help With Parallel Processing

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)
Discussion started by: imnewtothis23
6 Replies

9. Shell Programming and Scripting

parallel processing

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)
Discussion started by: audippa
3 Replies

10. UNIX for Dummies Questions & Answers

How to do parallel processing??

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)
Discussion started by: zing
1 Replies
Login or Register to Ask a Question