For compile-time task scheduling, we have developed two efficient algorithms, namely CASS-I (with task duplication) and CASS-II (without task duplication), and verified that both schemes are superior to the currently best known ones in terms of speed and solution quality. For run-time task scheduling, we show that any online tree scheduling algorithm, even a randomized one, has competitive ratio $\Omega((\frac{1}{g}) /log_{d}(\frac{1}{g}))$ for trees with granularity at most $g<1$ and degree $d$.