suspend a thread with an another thread

From: maxime louvel
Date: Fri Sep 18 2009 - 02:53:10 EST


HI all,

I'm doing a phd related to QoS and resources management within
distributed systems.
I would like to affect a CPU budget to my applications, one
application being a thread.

As I would like to experiment quickly my ideas in order to test them,
I wanted to use a little trick :
instead of modifying the linux scheduler (which I guess will take me a
lot of time because I'm not familiar with it) I tried to use a "super
thread".

My try was that this "super thread" with higher priority is suspending
the other threads if they overcome their cpu budget.
I thought of something like activate an application thread, make the
super thread sleep for X time (cpu budget) and then wake up and
suspend the application thread until next time.

However I haven't been able to do that because I've read (and test
myself :) ) that :
- it is not possible to suspend a thread by an another thread (I don't
think I can use the pthread_cond facilities)
- as threads within a process share the signals and signal handlers I
can't send a signal (like SIGUSR1 or SIGSTOP) to a specific thread.
Correct me if I'm wrong

Is there a way I can do what I want ?

Or should I start by looking at how to modify the linux scheduler ?

thanks a lot,

Maxim

--
Maxime Louvel
+33 6 85 91 05 30
3 rue charreton
38000 Grenoble
France
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/