A survey of cloud resource management for complex engineering applications