Comments (9)
Yeah, that looks big enough. Apparently there is also a system-wide limit you can check with cat /proc/sys/kernel/threads-max
, but I don't think that's your problem.
Do you happen to be using Docker 20.10.9 (or older)? That version causes problems when newer containers try to start threads because it doesn't know about and thus forbids some of the syscalls they try to use, and the Cactus Docker images are on Ubuntu 22.04 so they would presumably be new enough to hit that bug.
from cactus.
I think we've seen this issue before. @adamnovak does this seem familiar?
from cactus.
I think the issue I'm thinking of is DataBiosphere/toil#3573 and #462
from cactus.
Toil has been passing an OMP_NUM_THREADS
to each job individually since 5.5.0, so if the Toil here is newer than that we shouldn't have the same problem with all the single-machine jobs thinking they can have one thread per core on the machine.
@scintilla9 what is your ulimit -u
value (which would be the maximum number of threads you are allowed)? And how does that compare to what nproc
says for the number of cores that are in the system?
It looks like Toil is failing to start one of its internal threads before it even gets around to making jobs that use threads. Are you running anything else on this machine that could be eating into your thread limit? Did you like start a previous Toil run and somehow leave processes running?
from cactus.
Here's the information:
ulimit -u = 3095605
, nproc = 48
and ulimit -a
:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 3095605
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 200000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 3095605
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
I am running another catcus (an older version) on the machine locally, but I've tried stop the job and run a new cactus (latest version) in docker, the error still happened. In fact the older version does not occupy the resources, it only take 1 thread when running the process even I set --defaultCores 40
and --maxCores 40
. That is why I want to change to the latest version, but I am not sure if that affect the thread limit.
Do I need to increase max user processes
? It seems already a huge value.
from cactus.
Hi @adamnovak
Thanks for reply.
cat /proc/sys/kernel/threads-max
shows 6191210.
And yes, my docker version is 18.09, so this might be the reason.
Now I've built cactus 2.8.2 from pre-compile binary, and ran without error so far.
BTW, the multiple cores lastz only works when GPU available, right?
from cactus.
BTW, the multiple cores lastz only works when GPU available, right?
I feel like multiple cores and using GPUs are independent features, but @glennhickey would know for sure.
from cactus.
BTW, the multiple cores lastz only works when GPU available, right?
yes
--lastzCores LASTZCORES
Number of cores for each lastz/segalign job, only
relevant when running with --gpu
from cactus.
Thanks for clarifying.
from cactus.
Related Issues (20)
- maybe the "path" do not exist in the gfa ?
- Large variation in run time and data recovery of cactus-hal2maf when switching reference genomes HOT 1
- Cactus-pangenome fails at make_vcf step only on real data HOT 3
- create phylogenetic tree with the alignment maf format HOT 7
- Multiple fasta input, single sample in vcf HOT 2
- Long Running Time and High Memory Consumption for `paffy` in `cactus-blast` HOT 8
- hal2fasta coordinates not matching with input HOT 1
- run on the grid_engine cluster HOT 1
- I want to know how cactus-pangenome adds tree file relationships. HOT 1
- MC process evolution tree file problem HOT 2
- Can this graph coverage be considered normal or good? HOT 2
- How compare mapping performance using vg-giraffe between pangenome and genomes used in pangenome construction HOT 1
- The sentence below, should`cactus-graphmap-join`be`cactus-pangenome`?
- Help parameterizing seqfile HOT 1
- Obtain node PAV, ID and fasta.
- unrecognized arguments: --bigChain HOT 1
- error cactus-align HOT 1
- unrecognized arguments: --maskAlpha HOT 4
- How to obtain the evolutionary order of root during merge hal file HOT 1
- Preprocessing pangenome
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cactus.