Sponsored Content
Special Forums UNIX and Linux Applications High Performance Computing Massively parallel on single core? Post 302394358 by Andre_Merzky on Thursday 11th of February 2010 07:48:20 AM
Old 02-11-2010
Question Massively parallel on single core?

Hia all,

I am not sure how many people actually follow the HPC forum on unix.com, but you may be interested in discussing the following (academic) problem:

Assume you want to run a *very* large number (say 100.000) of very lightweight synchronous operations. As an example, assume that you want to run 100.000 instances of

Code:
sleep (3600); // thats one hour sleep

The trivial (aka braindead) approach would be

Code:
for ( int i = 0; i < 100000; i++ )
{
  ::sleep (3600);
}

Takes about 15 years to finish ;-)

One could start 1000 threads, and run a sleep in each of them. That reduces the runtime to 100 hours - still 4 days, and the system is totally idle all the time.

So, using more threads? Won't work, as the max-threads-per-process limit will be hit at some point.

So, spawn 100 processes which spawn 1000 threads each?
The max-threads-per-process limit is, on Linux, close to the max-threads-per-system limit, so that won't work. On other Unixes that is different, but I don't think you get 100.000 threads on a normal single CPU system. Do you?

So, what would your approach be?

I am not looking for a sleep replacement: so saying that I should set alarm or something similar is of not much use. Sleep is obviously only an example here - replace it with an extremely lightweight job, like running a very time consuming synchronous remote operation.

I am looking forward to the ideas you guys can come up with! :-)

Cheers, Andre.

Last edited by Andre_Merzky; 02-11-2010 at 08:48 AM.. Reason: layout...
 

9 More Discussions You Might Find Interesting

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

2. UNIX for Dummies Questions & Answers

difference between Dual-core & Core-to-duo

Can anybody tell What is the exact difference between a Dual-core processor and a Core-to-duo processor ?Advance thanks to all my friends. (1 Reply)
Discussion started by: Ajith kumar.G
1 Replies

3. Programming

how to know the application run on which core, and run how many times on this core

I have a dual core pc, I write a application with two child process. I know I can add sched_get_cpu to know the process run on which core, but, it just when the sched_get_cpu is called, it will tell me the result, my quesion is how to know the child proceess spend how many times on one core. (2 Replies)
Discussion started by: yanglei_fage
2 Replies

4. Shell Programming and Scripting

Replace single quote with two single quotes in perl

Hi I want to replace single quote with two single quotes in a perl string. If the string is <It's Simpson's book> It should become <It''s Simpson''s book> (3 Replies)
Discussion started by: DushyantG
3 Replies

5. Shell Programming and Scripting

Multiple lines in a single column to be merged as a single line for a record

Hi, I have a requirement with, No~Dt~Notes 1~2011/08/1~"aaa bbb ccc ddd eee fff ggg hhh" Single column alone got splitted into multiple lines. I require the output as No~Dt~Notes 1~2011/08/1~"aaa<>bbb<>ccc<>ddd<>eee<>fff<>ggg<>hhh" mean to say those new lines to be... (1 Reply)
Discussion started by: Bhuvaneswari
1 Replies

6. Shell Programming and Scripting

For loop in parallel

Hello, My script shell is: for i in $(seq $nb_lignes) do //command java done Please, how can i execute all iteration in parallel ? Thank you so much. (9 Replies)
Discussion started by: chercheur857
9 Replies

7. Shell Programming and Scripting

How to replace file massively?

Hi Gurus, I need to change a large amout of file name's. for example: current file name: file_ABCDE_sufix.txt I need to change them as file_FGHIGHKE_sufix.txt. Is there any way I can change them with script. Thanks in advance (1 Reply)
Discussion started by: ken6503
1 Replies

8. Shell Programming and Scripting

Paste 2 single column files to a single file

Hi, I have 2 csv/txt files with single columns. I am trying to merge them using paste, but its not working.. output3.csv: flowerbomb everlon-jewelry sofft steve-madden dolce-gabbana-watchoutput2.csv: http://www1.abc.com/cms/slp/2/Flowerbomb http://www1.abc.com/cms/slp/2/Everlon-Jewelry... (5 Replies)
Discussion started by: ajayakunuri
5 Replies

9. Shell Programming and Scripting

Python GNU parallel single command on multiple cores

Hello, I have a 4 core machine. Here is my initial script cd /work/ python script.py input.txt output.txt 1 2 3 This script runs for 1.5hrs. So I read across the web and figured out that you can use GNU parallel to submit multiple jobs using parallel. But I am not sure if I can run... (4 Replies)
Discussion started by: jacobs.smith
4 Replies
nfsd(8) 						      System Manager's Manual							   nfsd(8)

NAME
nfsd - The remote NFS compatible server SYNOPSIS
/usr/sbin/nfsd [-t num_tcpthreads] [-u num_udpthreads] The following form of the nfsd command is not recommended and is supported only for backward compatibility: /usr/sbin/nfsd [numthreads] FLAGS
Specifies a number of TCP server threads (per RAD) to spawn. A value of 8 is recommended as a start. Specifies a number of UDP server threads (per RAD) to spawn. A value of 8 is recommended as a start. DESCRIPTION
The nfsd daemon runs on a server machine to service NFS requests from client machines. The daemon spawns a number of server threads that process NFS requests from client machines. At least one server thread must be running for a machine to operate as a server. There are two types of server threads: a server thread that processes NFS requests sent using TCP and a server thread that processes NFS requests sent using UDP. This is necessary because the kernel paths for UDP and TCP NFS messages are different. The -t option specifies the number of TCP threads to run and the -u option specifies the number of UDP threads to run. On systems that support Cache Coherent NUMA, the number of threads is per Resource Affinity Domain (RAD). As you add RADs, the NFS server will automatically scale by creating additional threads. NFS requests are processed by a particular RAD based on the file being accessed; this confines cached information about a file to a single RAD for efficiency. See numa_intro(3) for more information on the NUMA architec- ture. If you use the SysMan Menu to configure NFS, it sets the default at 8 UDP and 8 TCP threads. However, a user can have any number of TCP and UDP nfsd threads running up to a maximum of 128 threads. The optimal number of TCP server threads and UDP server threads depends on many factors. See nfsiod(8) for more information. The server threads are implemented as kernel threads; they are part of Process ID 0, not the nfsd process. The ps axml command displays idle server threads under PID 0. Idle threads will be waiting on nfs_udp_wait or nfs_tcp_wait. Therefore, if 16 server threads are config- ured, only one nfsd process is displayed in the output from the ps command, although 16 server threads are available to handle NFS requests. Files that are larger than 2 gigabytes are exported as 2 gigabyte files when accessed by NFS Version 2. NFS Version 2 is a 32-bit proto- col, therefore, the size and offset fields are 32-bit quantities (on Alpha UFS they are 64-bit quantities). Use caution when accessing files larger than 2 gigabytes from NFS clients. EXAMPLES
In the following example, 16 threads are run (8 for TCP and 8 for UDP): nfsd -t 8 -u 8 FILES
Specifies the command path Specifies the file for logging startup errors (before the server threads are started). Specifies the file for logging NFS errors (after the server threads are started). RELATED INFORMATION
Commands: mount(8), mountd(8), nfsconfig(8), nfsstat(8), portmap(8) System calls: nfssvc(2) delim off nfsd(8)
All times are GMT -4. The time now is 04:43 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy