Parrot: Efficient Serving of LLM-based Applications with Semantic Variable