  Many scientific workflows can be modeled as a Directed Acyclic Graph
(henceforth mentioned as DAG) where the nodes represent individual tasks, and
the directed edges represent data and control flow dependency between two
tasks. Due to the large volume of data, multiprocessor systems are often used
to execute these workflows. Hence, scheduling the tasks of a workflow to
achieve certain goals (such as minimizing the makespan, energy, or maximizing
reliability, processor utilization, etc.) remains an active area of research in
embedded systems. In this paper, we propose a workflow scheduling algorithm to
minimize the makespan and energy for a given reliability constraint. If the
reliability constraint is higher, we further propose Energy Aware Fault
Tolerant Scheduling (henceforth mentioned as EAFTS) based on active
replication. Additionally, given that the allocation of task nodes to
processors is known, we develop a frequency allocation algorithm that assigns
frequencies to the processors. Mathematically we show that our algorithms can
work for any satisfiable reliability constraint. We analyze the proposed
solution approaches to understand their time requirements. Experiments with
real-world Workflows show that our algorithms, MERT and EAFTS, outperform the
state-of-art approaches. In particular, we observe that MERT gives 3.12% lesser
energy consumption and 14.14% lesser makespan on average. In the fault-tolerant
setting, our method EAFTS gives 11.11% lesser energy consumption on average
when compared with the state-of-art approaches.
