modify strategies to keep track task neighbourship

- to keep track of neighbour-ship
    + no longer need the sd_lock from stream 
    + keep destroyed stream and desc in a free list: to reuse later and avoid accessing to freed memory