If you've got plants then the small Oto Otocinclus Affinis is excellent. They grow to about 2 inches and will eat the algae off the plants without harming the plant. You'll need 3 or more to make an impact on algae.
If you haven't plants then Bristlenose is a good algae eater and won't grow too big for your tank. Be cautious of some plecs as they can out grow your tank fairly quickly. There's plenty of plecs to choose from, your LFS should (hopefully) advise you on their fully grown size.