Visit Our UNIX and Linux User Community


parallel processing


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting parallel processing
# 1  
Old 09-04-2009
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 form a batch batch02
then
03 - will be appended for one below other to form a batch batch03
then
04 - will be appended for one below other to form a batch batch04
..

and so on, now this is taking a lot of time while processing.
How can i improve the performance say include some type of parallel processing
to minimize the time.
Please Advice
# 2  
Old 09-04-2009

Post your script so we can see what you are doing wrong.
# 3  
Old 09-04-2009
Please find the script below

Code:
name00=ABC00`date +"%y%m%d%H"`
for i in 0[0]*.[tT][xX][tT]
do
cat ${i} >> ${name00}            
done

name01=ABC01`date +"%y%m%d%H"`
for i in 0[1]*.[tT][xX][tT]
do
cat ${i} >> ${name01}            
done
 

name02=ABC02`date +"%y%m%d%H"`
for i in 0[2]*.[tT][xX][tT]
do
cat ${i} >> ${name02}            
done

and so on

Last edited by bakunin; 09-04-2009 at 10:02 AM.. Reason: generously provided code-tags to the needy - please spend them yourself from now on
# 4  
Old 09-04-2009
Your code would probably benefit from the usage of "find" and the elimination of repetitive tasks like expanding the date over and over again:

Code:
chDate="$(date +"%y%m%d%H")"
typeset -Z2 iCounter=0

while [ $iCounter -le 99 ] ; do
     find /your/directory -name "${iCounter}*[tT][xX][tT]" -print > "ABC${iCounter}${chDate}"
     (( iCounter += 1 ))
done

I put an arbitrary end at 99 for demonstration purposes, adapt the script to what you really need. If this is not fast enough try backgrounding the "find"s by adding a " &" at the end of the line starting with "find".

I hope this helps.

bakunin
# 5  
Old 09-04-2009
First, what type of file system is your /xyz directory? What is the underlying hardware? How busy is it when you're running your script?

If your hardware is already maxed out, it's already maxed out and parallel processing won't help. In fact, it could even slow it down further and you'll likely get more disk contention.
# 6  
Old 09-04-2009
Code:
name00=ABC00`date +"%Y%m%d%h"`
cat 00*.[tT][xX][tT] > "$name00"

name01=ABC01`date +"%Y%m%d%h"`
cat 01*.[tT][xX][tT] > "$name01"

name02=ABC02`date +"%Y%m%d%h"`
cat 02*.[tT][xX][tT] > "$name02"

Or:

Code:
for n in 01 02 03 04 ...
do
  name=ABC$n`date +"%Y%m%d%h"`
  cat "$n"*.[tT][xX][tT] > "$name"
done

# 7  
Old 09-04-2009
Your code would probably benefit from the usage of "find" and the elimination of repetitive tasks like expanding the date over and over again:

Code:
chDate="$(date +"%y%m%d%H")"
typeset -Z2 iCounter=0

while [ $iCounter -le 99 ] ; do
     find /your/directory -name "${iCounter}*.[tT][xX][tT]" -print > "ABC${iCounter}${chDate}"
     (( iCounter += 1 ))
done

I put an arbitrary end at 99 for demonstration purposes, adapt the script to what you really need. If this is not fast enough try backgrounding the "find"s by adding a " &" at the end of the line starting with "find".

I hope this helps.

bakunin

Previous Thread | Next Thread
Test Your Knowledge in Computers #977
Difficulty: Medium
A Linux Kernel Code of Conflict was introduced on 8 March 2012.
True or False?

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. Shell Programming and Scripting

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

script parallel processing

How to write script which run multiple scripts parllely, i have script called A,which has to execute B,C,D,E scripts parllely.. (2 Replies)
Discussion started by: machpee
2 Replies

7. 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

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

Featured Tech Videos